You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
226 lines
7.7 KiB
226 lines
7.7 KiB
#ifndef UBL_SETTINGS_MANAGER
|
|
#define UBL_SETTINGS_MANAGER
|
|
|
|
#include <gtk/gtk.h>
|
|
#include <time.h>
|
|
|
|
|
|
#define GladePath "/usr/share/ubl-settings-manager/ui/ubl-settings-manager.glade"
|
|
#define CssPath "/usr/share/ubl-settings-manager/css/ubl-settings-manager.css"
|
|
#define GlobalConfigPath "/etc/ubconfig-main.conf"
|
|
#define UserConfigPath "/.config/ubl-settings-manager/ubconfig-main.conf"
|
|
#define AppIconPath "ubl-settings-manager"
|
|
#define AppBannerPath "/usr/share/ubl-settings-manager/ui/ubl-settings-manager-banner.png"
|
|
#define DesktopPath "/usr/share/applications/"
|
|
#define IconPicturesPath "/usr/share/icons/hicolor/scalable/apps/"
|
|
#define ublinux_logo "/usr/share/ubl-settings-manager/ui/ublinux-logo.svg"
|
|
#define LocalePath "/usr/share/locale"
|
|
#define LocaleName "ubl-settings-manager"
|
|
#define ubl_settings_infoPath "ubl-settings-info"
|
|
#define ubl_settings_infoPathLaunch "ubl-settings-info --socket-id="
|
|
char *version_application = "1.3";
|
|
|
|
typedef struct apps{
|
|
char *Name;
|
|
int Type;
|
|
char *Categories;
|
|
char *Exec;
|
|
char *Icon;
|
|
int Pluggable;
|
|
int DualPluggable;
|
|
} apps;
|
|
|
|
typedef struct {
|
|
char *command;
|
|
int *exitcode;
|
|
} thread_output;
|
|
|
|
typedef struct dictionary {
|
|
char *key;
|
|
void *data;
|
|
struct dictionary *next;
|
|
struct dictionary *prev;
|
|
struct dictionary *first;
|
|
} dictionary;
|
|
|
|
typedef struct IVGrapgicals{
|
|
char *sectionName;
|
|
char *categories;
|
|
GtkListStore *LV;
|
|
GtkWidget *Box;
|
|
GtkWidget *IV;
|
|
GtkWidget *label;
|
|
GtkWidget *sep;
|
|
GtkCellRendererPixbuf *iconRender;
|
|
} IVGraphicals;
|
|
|
|
typedef struct IconSection{
|
|
char *section;
|
|
char *categories;
|
|
} IconSection;
|
|
|
|
typedef struct {
|
|
int windowWidth;
|
|
int windowHeight;
|
|
int windowPosX;
|
|
int windowPosY;
|
|
int WindowTheme;
|
|
char *curThemeName;
|
|
int Mainiconsize;
|
|
int Gnomeiconsize;
|
|
int iconSegmentSize;
|
|
dictionary *sections;
|
|
int MainlabelSize;
|
|
int GnomelabelSize;
|
|
int *currentThemeLabelSize;
|
|
int *currentThemeIconSize;
|
|
int labelDensity;
|
|
char *lastUser;
|
|
int changed;
|
|
int fullscreen;
|
|
} config;
|
|
|
|
typedef struct {
|
|
GtkWidget *MainFrame;
|
|
GtkWidget *MainBox;
|
|
GtkWidget *ElemBox;
|
|
GtkWidget *DragButtonBox;
|
|
GtkWidget *DragUpButton;
|
|
GtkWidget *DragDownButton;
|
|
GtkWidget *NameBox;
|
|
GtkWidget *CategoriesBox;
|
|
GtkWidget *OptionBox;
|
|
GtkWidget *NameEntry;
|
|
GtkWidget *NameLabel;
|
|
GtkWidget *CategoriesEntry;
|
|
GtkWidget *CategoriesLabel;
|
|
GtkWidget *EditButtonBox;
|
|
GtkWidget *EditButtonAccept;
|
|
GtkWidget *EditButtonCancel;
|
|
GtkWidget *ButtonEdit;
|
|
GtkWidget *ButtonDelete;
|
|
GtkWidget *DeleditBox;
|
|
} SectionSettingSegment;
|
|
|
|
typedef struct {
|
|
GtkBuilder *builder;
|
|
GtkWidget *window;
|
|
dictionary *ICSys;
|
|
GtkWidget *DesktopBasic;
|
|
GtkWidget *DesktopSocket;
|
|
GtkWidget *ButtonBackToMain;
|
|
GtkWidget *DialogOpenDocumentation;
|
|
GtkWidget *CancelHelpButton;
|
|
GtkWidget *ReadHelpButton;
|
|
GtkWidget *AlwaysOpenDocumentation;
|
|
GtkWidget *helpHeader;
|
|
GtkWidget *helpText;
|
|
GtkWidget *appSettings;
|
|
GtkWidget *SettingsWindow;
|
|
GtkWidget *settingsSizeSlider;
|
|
GtkWidget *settingsSizeInfoLabel;
|
|
GtkWidget *settingsThemeChooser;
|
|
GtkWidget *settingsCancel;
|
|
GtkWidget *settingsAccept;
|
|
GtkWidget *settingsIcon;
|
|
GtkWidget *socket;
|
|
GtkWidget *socketplace;
|
|
GtkWidget *HideWhileLaunch;
|
|
GtkWidget *MenuItemSettings;
|
|
GtkWidget *MenuItemDocumentation;
|
|
GtkWidget *MenuItemAboutSystem;
|
|
GtkWidget *LabelTitle;
|
|
GtkWidget *settingsSubmenuLabelSize;
|
|
GtkWidget *settingsSubmenuLabelTheme;
|
|
GtkWidget *GnomePaned;
|
|
GtkWidget *GnomeInfoLabel;
|
|
GtkWidget *workingwindow;
|
|
// GtkWidget *settingsSectionsSettingsButton;
|
|
GtkWidget *SectionSettingsWindow;
|
|
GtkWidget *SectionSettingsPack;
|
|
dictionary *SettingsSections;
|
|
GtkWidget *SectionSettingAddButton;
|
|
GtkWidget *SectionSettingAddNameEntry;
|
|
GtkWidget *SectionSettingAddCategoriesEntry;
|
|
GtkWidget *SectionSettingsClearEntryButton;
|
|
GtkWidget *SectionSettingsSaveButton;
|
|
GtkWidget *SectionSettingsCloseButton;
|
|
GtkWidget *GnomeInfoDetailsLabel;
|
|
GtkWidget *CautionWindow;
|
|
GtkWidget *CautionUnderstandButton;
|
|
GtkWidget *socketbuttonplace;
|
|
GtkWidget *socketbutton;
|
|
GtkWidget *Overlay;
|
|
GtkWidget *ThirdSocketPlace;
|
|
GtkWidget *ThirdSocket;
|
|
int appssize;
|
|
apps *applist;
|
|
GtkWidget *icvpack;
|
|
GtkWidget *infoWarningWindow;
|
|
|
|
} actionWidgets;
|
|
|
|
typedef enum {
|
|
ACTIONWIDGETS,
|
|
ICONSECTION,
|
|
IVGRAPHICALS,
|
|
OTHER
|
|
|
|
} DICT_TYPE;
|
|
|
|
void on_plug_added(GtkSocket* self, actionWidgets *builder);
|
|
void on_plug_removed(GtkSocket* self, actionWidgets *widgets);
|
|
void on_Item_activated(GtkIconView* self, GtkTreePath* path, actionWidgets *applist);
|
|
void on_gnome_Item_activated(GtkIconView* self, GtkTreePath* path, actionWidgets *applist);
|
|
void on_item_selection_changed(GtkIconView *IV, actionWidgets *widgets);
|
|
void on_ButtonOpenHelp_activated(GtkWidget *button, GtkBuilder *builder);
|
|
void on_backToSettingsButton_clicked(GtkWidget *button,actionWidgets *sctb);
|
|
void on_CancelHelpButton_activated(GtkWidget *button,GtkBuilder *builder);
|
|
void on_ReadHelpButton_activated(GtkWidget *button, GtkBuilder *builder);
|
|
int launch_app_with_arguments(char *name, char *args);
|
|
int launch_app(char *name);
|
|
int py_launch_app(char *name,char *args);
|
|
int on_settings_accept(GtkWidget *button, dictionary **widgetsDs);
|
|
void on_paned_move(GtkPaned* self, GtkScrollType* scroll_type, actionWidgets *widgets);
|
|
int on_settingsOpen(GtkWidget *button, actionWidgets *widgets);
|
|
int on_settings_icon_size_changed(GtkWidget* self, actionWidgets *widgets);
|
|
int on_settings_cancel(GtkWidget *button, actionWidgets *widgets);
|
|
apps *get_app_by_name(apps *applist,char *name, int size);
|
|
int reload_list(IVGraphicals *section);
|
|
int load_apps(IVGraphicals *section, apps *applist, int size);
|
|
int load_apps_with_clear(IVGraphicals *section, apps *applist, int size);
|
|
int hide_if_unfound(dictionary *widgetsDc);
|
|
GtkWidget *create_socket(actionWidgets *builder);
|
|
void sort_apps(apps *applist,int size);
|
|
apps *find_apps(int *sizef);
|
|
int check_categories(apps app, char *catstocheck);
|
|
int setup_config();
|
|
dictionary *yon_theme_new(dictionary **widgetss, GtkBuilder *builder, char *theme_id, apps *applist, int appsize);
|
|
char *yon_char_get_augumented(char *source, char *append);
|
|
char *yon_cut(char *source, int size, int startpos);
|
|
int yon_set_sections(IconSection *section);
|
|
void yon_set_default_sections(dictionary **section);
|
|
char *yon_char_divide_search(char *source, char* dividepos, int delete_divider);
|
|
char *yon_char_divide(char *source, int dividepos);
|
|
dictionary *yon_section_new(dictionary *section, char *section_name, char *categories);
|
|
void yon_switch_theme(dictionary **dict, dictionary *newone);
|
|
dictionary *yon_dictionary_find(dictionary **dict, char *key);
|
|
void yon_segment_show(actionWidgets *widgets, SectionSettingSegment *sgm);
|
|
dictionary *yon_dictionary_create_empty();
|
|
SectionSettingSegment *yon_create_section_setting(char *name, char *categories);
|
|
void yon_segments_show(actionWidgets *widgets);
|
|
void yon_segments_hide(actionWidgets *widgets);
|
|
void yon_dictionary_make_first(dictionary *dict);
|
|
dictionary *yon_create_icon_section_list(dictionary *sections);
|
|
int yon_show_icon_views(dictionary *IVS,actionWidgets *widgets);
|
|
void yon_icon_size_convert(int mode);
|
|
void on_about_system(GtkWidget *button, actionWidgets *widgets);
|
|
char *yon_char_new(char *chr);
|
|
int launch(thread_output *thread);
|
|
float yon_time_average(dictionary *times);
|
|
void yon_time_reg_for_average(dictionary *listofregs, int size, time_t tm);
|
|
void yon_dictionary_switch_to_last(dictionary **dict);
|
|
dictionary *yon_dictionary_create_conneced(dictionary *targetdict);
|
|
int yon_get_icon_size(int size);
|
|
|
|
#endif |