|
|
|
|
@ -150,8 +150,10 @@ void on_ReadHelpButton_activated(GtkWidget *button, GtkBuilder *builder){
|
|
|
|
|
gtk_widget_hide(window);
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
int on_settings_accept(GtkWidget *button, dictionary *widgetsD){
|
|
|
|
|
//printf("Saving config...\n");
|
|
|
|
|
int on_settings_accept(GtkWidget *button, dictionary **widgetsDs){
|
|
|
|
|
dictionary *widgetsD=*widgetsDs;
|
|
|
|
|
printf("Saving config...\n");
|
|
|
|
|
|
|
|
|
|
actionWidgets *widgets=(actionWidgets*)widgetsD->data;
|
|
|
|
|
gtk_window_get_size(GTK_WINDOW(widgets->window),&main_config.windowWidth,&main_config.windowHeight);
|
|
|
|
|
gtk_window_get_position(GTK_WINDOW(widgets->window),&main_config.windowPosX,&main_config.windowPosY);
|
|
|
|
|
@ -172,9 +174,11 @@ int on_settings_accept(GtkWidget *button, dictionary *widgetsD){
|
|
|
|
|
gtk_window_present(GTK_WINDOW(widgets->SettingsWindow));
|
|
|
|
|
gtk_widget_hide(widgets->window);
|
|
|
|
|
if (yon_dictionary_find(&widgetsD,main_config.curThemeName)==NULL){
|
|
|
|
|
widgetsD->next=yon_theme_new(yon_dictionary_create_empty(),widgets->builder,main_config.curThemeName,widgets->applist,widgets->appssize);
|
|
|
|
|
dictionary *DCT=yon_dictionary_create_empty();
|
|
|
|
|
widgetsD->next=yon_theme_new(&DCT,widgets->builder,main_config.curThemeName,widgets->applist,widgets->appssize);
|
|
|
|
|
widgetsD->next->prev=widgetsD;
|
|
|
|
|
yon_switch_theme(&widgetsD,yon_dictionary_find(&widgetsD,main_config.curThemeName));
|
|
|
|
|
|
|
|
|
|
yon_switch_theme(widgetsDs,yon_dictionary_find(&widgetsD,main_config.curThemeName));
|
|
|
|
|
widgets=(actionWidgets*)widgetsD->data;
|
|
|
|
|
widgets->ICSys=yon_create_icon_section_list(main_config.sections);
|
|
|
|
|
for (dictionary *cur=widgets->ICSys->first; cur!=NULL;cur=cur->next){
|
|
|
|
|
@ -183,8 +187,10 @@ int on_settings_accept(GtkWidget *button, dictionary *widgetsD){
|
|
|
|
|
yon_show_icon_views(widgets->ICSys,widgets);
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
yon_switch_theme(&widgetsD,yon_dictionary_find(&widgetsD,main_config.curThemeName));
|
|
|
|
|
yon_switch_theme(widgetsDs,yon_dictionary_find(&widgetsD,main_config.curThemeName));
|
|
|
|
|
if (widgets!=(actionWidgets*)widgetsD->data) widgets=(actionWidgets*)widgetsD->data;
|
|
|
|
|
gtk_window_resize(GTK_WINDOW(widgets->window),main_config.windowWidth,main_config.windowHeight);
|
|
|
|
|
gtk_window_move(GTK_WINDOW(widgets->window),main_config.windowPosX,main_config.windowPosY);
|
|
|
|
|
gtk_widget_show(widgets->window);
|
|
|
|
|
gtk_widget_hide(loaderWindow);
|
|
|
|
|
main_config.WindowTheme=theme;
|
|
|
|
|
@ -564,35 +570,14 @@ void on_resized (GtkWidget *window, GdkEventConfigure *event, dictionary *widget
|
|
|
|
|
if (main_config.WindowTheme!=0)
|
|
|
|
|
if (x<1024&&y<720){
|
|
|
|
|
actionWidgets *widgets=(actionWidgets*)widgetsD->data;
|
|
|
|
|
main_config.WindowTheme=0;
|
|
|
|
|
//main_config.WindowTheme=0;
|
|
|
|
|
main_config.iconsize=24;
|
|
|
|
|
gtk_combo_box_set_active (widgets->settingsThemeChooser,0);
|
|
|
|
|
on_settings_accept(window,widgetsD);
|
|
|
|
|
// main_config.curThemeName="Main";
|
|
|
|
|
// GtkWidget *loaderWindow=GTK_WIDGET(gtk_builder_get_object(widgets->builder,"LoaderWindow"));
|
|
|
|
|
// gtk_window_resize(GTK_WINDOW(loaderWindow),main_config.windowWidth,main_config.windowHeight);
|
|
|
|
|
// gtk_window_move(GTK_WINDOW(loaderWindow),main_config.windowPosX,main_config.windowPosY);
|
|
|
|
|
|
|
|
|
|
// gtk_widget_show(loaderWindow);
|
|
|
|
|
// gtk_window_present(GTK_WINDOW(widgets->SettingsWindow));
|
|
|
|
|
// gtk_widget_hide(widgets->window);
|
|
|
|
|
// if (yon_dictionary_find(&widgetsD,main_config.curThemeName)==NULL){
|
|
|
|
|
// widgetsD->next=yon_theme_new(yon_dictionary_create_empty(),widgets->builder,main_config.curThemeName,widgets->applist,widgets->appssize);
|
|
|
|
|
// widgetsD->next->prev=widgetsD;
|
|
|
|
|
// yon_switch_theme(&widgetsD,yon_dictionary_find(&widgetsD,main_config.curThemeName));
|
|
|
|
|
// widgets=(actionWidgets*)widgetsD->data;
|
|
|
|
|
// widgets->ICSys=yon_create_icon_section_list(main_config.sections);
|
|
|
|
|
// for (dictionary *cur=widgets->ICSys->first; cur!=NULL;cur=cur->next){
|
|
|
|
|
// load_apps((IVGraphicals*)cur->data,widgets->applist,widgets->appssize);
|
|
|
|
|
// }
|
|
|
|
|
// yon_show_icon_views(widgets->ICSys,widgets);
|
|
|
|
|
|
|
|
|
|
// }
|
|
|
|
|
// yon_switch_theme(&widgetsD,yon_dictionary_find(&widgetsD,main_config.curThemeName));
|
|
|
|
|
// if (widgets!=(actionWidgets*)widgetsD->data) widgets=(actionWidgets*)widgetsD->data;
|
|
|
|
|
// gtk_widget_show(widgets->window);
|
|
|
|
|
// gtk_widget_hide(loaderWindow);
|
|
|
|
|
|
|
|
|
|
gtk_combo_box_set_active (GTK_COMBO_BOX(widgets->settingsThemeChooser),0);
|
|
|
|
|
if (widgetsD->next==NULL)
|
|
|
|
|
widgetsD=widgetsD->prev;
|
|
|
|
|
else
|
|
|
|
|
widgetsD=widgetsD->next;
|
|
|
|
|
on_settings_accept(window,&widgetsD);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
void launch_app_with_arguments(char *name, char *args){
|
|
|
|
|
@ -1313,9 +1298,11 @@ void yon_dictionary_make_first(dictionary *dict){
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
dictionary *yon_theme_new(dictionary *widgets, GtkBuilder *builder, char *theme_id, apps *applist, int appsize){
|
|
|
|
|
dictionary *yon_theme_new(dictionary **widgetss, GtkBuilder *builder, char *theme_id, apps *applist, int appsize){
|
|
|
|
|
|
|
|
|
|
dictionary *widgets=*widgetss;
|
|
|
|
|
actionWidgets *curWidgets=(actionWidgets*)widgets->data;
|
|
|
|
|
if (!curWidgets) {
|
|
|
|
|
if (curWidgets==NULL) {
|
|
|
|
|
curWidgets=malloc(sizeof(actionWidgets));
|
|
|
|
|
widgets->data=curWidgets;
|
|
|
|
|
}
|
|
|
|
|
@ -1430,20 +1417,21 @@ dictionary *yon_theme_new(dictionary *widgets, GtkBuilder *builder, char *theme_
|
|
|
|
|
gtk_window_set_icon_from_file(GTK_WINDOW(curWidgets->SectionSettingsWindow),AppIconPath,NULL);
|
|
|
|
|
|
|
|
|
|
// hide_if_unfound(GTK_TREE_MODEL(curWidgets);
|
|
|
|
|
|
|
|
|
|
g_signal_connect(G_OBJECT(curWidgets->MenuItemDocumentation), "activate", G_CALLBACK(on_ButtonOpenHelp_activated), curWidgets->builder);
|
|
|
|
|
g_signal_connect(G_OBJECT(curWidgets->CancelHelpButton), "clicked", G_CALLBACK(on_CancelHelpButton_activated), curWidgets->builder);
|
|
|
|
|
g_signal_connect(G_OBJECT(curWidgets->ReadHelpButton), "clicked", G_CALLBACK(on_ReadHelpButton_activated), curWidgets->builder);
|
|
|
|
|
g_signal_connect(G_OBJECT(curWidgets->MenuItemSettings), "activate", G_CALLBACK(on_settingsOpen), curWidgets);
|
|
|
|
|
g_signal_connect(G_OBJECT(curWidgets->settingsSizeSlider), "value-changed", G_CALLBACK(on_settings_icon_size_changed), curWidgets);
|
|
|
|
|
g_signal_connect(G_OBJECT(curWidgets->settingsCancel), "clicked", G_CALLBACK(on_settings_cancel), curWidgets);
|
|
|
|
|
g_signal_connect(G_OBJECT(curWidgets->settingsAccept), "clicked", G_CALLBACK(on_settings_accept), widgets);
|
|
|
|
|
g_signal_connect(G_OBJECT(curWidgets->settingsSectionsSettingsButton), "clicked", G_CALLBACK(on_section_settings_open), widgets);
|
|
|
|
|
g_signal_connect(G_OBJECT(curWidgets->SectionSettingAddButton), "clicked", G_CALLBACK(on_sections_add), curWidgets);
|
|
|
|
|
g_signal_connect(G_OBJECT(curWidgets->SectionSettingsClearEntryButton), "clicked", G_CALLBACK(on_sections_new_clear), curWidgets);
|
|
|
|
|
g_signal_connect(G_OBJECT(curWidgets->SectionSettingsCloseButton), "clicked", G_CALLBACK(on_sections_close), curWidgets);
|
|
|
|
|
g_signal_connect(G_OBJECT(curWidgets->SectionSettingsSaveButton), "clicked", G_CALLBACK(on_sections_save), curWidgets);
|
|
|
|
|
// сделать функцию для сигналов окна секций, секции для настроек в словарь
|
|
|
|
|
if (gnld==0){
|
|
|
|
|
gnld=1;
|
|
|
|
|
g_signal_connect(G_OBJECT(curWidgets->MenuItemDocumentation), "activate", G_CALLBACK(on_ButtonOpenHelp_activated), curWidgets->builder);
|
|
|
|
|
g_signal_connect(G_OBJECT(curWidgets->CancelHelpButton), "clicked", G_CALLBACK(on_CancelHelpButton_activated), curWidgets->builder);
|
|
|
|
|
g_signal_connect(G_OBJECT(curWidgets->ReadHelpButton), "clicked", G_CALLBACK(on_ReadHelpButton_activated), curWidgets->builder);
|
|
|
|
|
g_signal_connect(G_OBJECT(curWidgets->MenuItemSettings), "activate", G_CALLBACK(on_settingsOpen), curWidgets);
|
|
|
|
|
g_signal_connect(G_OBJECT(curWidgets->settingsSizeSlider), "value-changed", G_CALLBACK(on_settings_icon_size_changed), curWidgets);
|
|
|
|
|
g_signal_connect(G_OBJECT(curWidgets->settingsCancel), "clicked", G_CALLBACK(on_settings_cancel), curWidgets);
|
|
|
|
|
g_signal_connect(G_OBJECT(curWidgets->settingsAccept), "clicked", G_CALLBACK(on_settings_accept), widgetss);
|
|
|
|
|
g_signal_connect(G_OBJECT(curWidgets->settingsSectionsSettingsButton), "clicked", G_CALLBACK(on_section_settings_open), widgets);
|
|
|
|
|
g_signal_connect(G_OBJECT(curWidgets->SectionSettingAddButton), "clicked", G_CALLBACK(on_sections_add), curWidgets);
|
|
|
|
|
g_signal_connect(G_OBJECT(curWidgets->SectionSettingsClearEntryButton), "clicked", G_CALLBACK(on_sections_new_clear), curWidgets);
|
|
|
|
|
g_signal_connect(G_OBJECT(curWidgets->SectionSettingsCloseButton), "clicked", G_CALLBACK(on_sections_close), curWidgets);
|
|
|
|
|
g_signal_connect(G_OBJECT(curWidgets->SectionSettingsSaveButton), "clicked", G_CALLBACK(on_sections_save), curWidgets);
|
|
|
|
|
}// сделать функцию для сигналов окна секций, секции для настроек в словарь
|
|
|
|
|
gtk_label_set_text(GTK_LABEL(curWidgets->LabelTitle),_("UBLinux Settings Manager"));
|
|
|
|
|
gtk_label_set_text(GTK_LABEL(curWidgets->settingsSubmenuLabelSize),_("Icon size"));
|
|
|
|
|
gtk_label_set_text(GTK_LABEL(curWidgets->settingsSubmenuLabelTheme),_("Window theme"));
|
|
|
|
|
@ -1480,7 +1468,7 @@ int main(int argc, char *argv[]){
|
|
|
|
|
if (main_config.WindowTheme==0) theme="Main";
|
|
|
|
|
else if (main_config.WindowTheme==1) theme="Gnome";
|
|
|
|
|
else theme="Main";
|
|
|
|
|
yon_theme_new(widgets->first, builder,theme,applist,*size);
|
|
|
|
|
yon_theme_new(&widgets->first, builder,theme,applist,*size);
|
|
|
|
|
widg->applist=applist;
|
|
|
|
|
widg->appssize=*size;
|
|
|
|
|
widg->ICSys=yon_create_icon_section_list(main_config.sections);
|
|
|
|
|
|