diff --git a/Makefile b/Makefile index b66026b..240f2a5 100644 --- a/Makefile +++ b/Makefile @@ -75,8 +75,8 @@ uninstall: $(RM) "$${PATH_FILE_MO}"; \ done @for SIZE in 16x16 32x32 48x48 scalable; do \ - $(RM) "${DESTDIR}${PREFIX}/share/icons/hicolor/$${SIZE}/apps/com.ublinux.${PKGNAME}.svg"; \ - $(RM) "${DESTDIR}${PREFIX}/share/icons/hicolor/$${SIZE}/apps/com.ublinux.${PKGNAME}.png"; \ + $(RM) "${DESTDIR}${PREFIX}/share/icons/hicolor/$${SIZE}/apps/ru.ublinux.${PKGNAME}.svg"; \ + $(RM) "${DESTDIR}${PREFIX}/share/icons/hicolor/$${SIZE}/apps/ru.ublinux.${PKGNAME}.png"; \ done @for FILE_SVG in $(wildcard *.svg); do \ for SIZE in 16x16 32x32 48x48 scalable; do \ @@ -84,9 +84,9 @@ uninstall: done; \ done @$(RM) "${DESTDIR}${PREFIX}/bin/${PKGNAME}" - @$(RM) "${DESTDIR}${PREFIX}/etc/xdg/${PKGNAME}/${PKGNAME}.conf" + @$(RM) "${DESTDIR}/etc/xdg/${PKGNAME}/${PKGNAME}.conf" @$(RM) "${DESTDIR}${PREFIX}/share/applications/${PKGNAME}.desktop" - @$(RM) "${DESTDIR}${PREFIX}/share/icons/hicolor/scalable/apps/com.ublinux.${PKGNAME}.svg" + @$(RM) "${DESTDIR}${PREFIX}/share/icons/hicolor/scalable/apps/ru.ublinux.${PKGNAME}.svg" @$(RM) -rd "${DESTDIR}${PREFIX}/share/${PKGNAME}" @if [ -z ${DESTDIR} ]; then \ [ -d "${DESTDIR}${PREFIX}/share/icons/hicolor/" ] && gtk-update-icon-cache -fiq "${DESTDIR}${PREFIX}/share/icons/hicolor/" &>/dev/null || true; \ @@ -107,13 +107,13 @@ install: check uninstall done @for SIZE in 16 32 48; do \ install -dm755 "${DESTDIR}${PREFIX}/share/icons/hicolor/$${SIZE}x$${SIZE}/apps"; \ - rsvg-convert -w $${SIZE} -h $${SIZE} -f svg --keep-image-data "com.ublinux.${PKGNAME}.svg" -o "${DESTDIR}${PREFIX}/share/icons/hicolor/$${SIZE}x$${SIZE}/apps/com.ublinux.${PKGNAME}.svg"; \ + rsvg-convert -w $${SIZE} -h $${SIZE} -f svg --keep-image-data "ru.ublinux.${PKGNAME}.svg" -o "${DESTDIR}${PREFIX}/share/icons/hicolor/$${SIZE}x$${SIZE}/apps/ru.ublinux.${PKGNAME}.svg"; \ done @install -dm755 "${DESTDIR}${PREFIX}/share/icons/hicolor/scalable/apps" - @install -Dm644 -t "${DESTDIR}${PREFIX}/share/icons/hicolor/scalable/apps/" "com.ublinux.${PKGNAME}.svg" + @install -Dm644 -t "${DESTDIR}${PREFIX}/share/icons/hicolor/scalable/apps/" "ru.ublinux.${PKGNAME}.svg" @install -Dm755 -t "${DESTDIR}${PREFIX}/bin/" "${CMAKE_BUILD_DIR}/${PKGNAME}" - @install -dm755 "${DESTDIR}${PREFIX}/etc/xdg" - @install -Dm744 -t "${DESTDIR}${PREFIX}/etc/xdg/${PKGNAME}/" "${PKGNAME}.conf" + @install -dm755 "${DESTDIR}/etc/xdg" + @install -Dm744 -t "${DESTDIR}/etc/xdg/${PKGNAME}/" "${PKGNAME}.conf" @install -dm755 "${DESTDIR}${PREFIX}/share/applications" @install -Dm644 -t "${DESTDIR}${PREFIX}/share/applications/" "${PKGNAME}.desktop" @install -dm755 "${DESTDIR}${PREFIX}/share/${PKGNAME}"/{ui,css,images} diff --git a/com.ublinux.ubl-settings-manager.svg b/ru.ublinux.ubl-settings-manager.svg similarity index 100% rename from com.ublinux.ubl-settings-manager.svg rename to ru.ublinux.ubl-settings-manager.svg diff --git a/source/ubl-settings-manager.c b/source/ubl-settings-manager.c index c7a18d3..d9d4fed 100644 --- a/source/ubl-settings-manager.c +++ b/source/ubl-settings-manager.c @@ -257,6 +257,8 @@ int on_settings_accept(GtkWidget *button, dictionary **widgetsDs){ sprintf(fromint,"%d",(int)((float)main_config.labelDensity/1000)); g_key_file_set_string(gfile,"window","LabelDensity",fromint); g_key_file_set_string(gfile,"window","User",login); + g_key_file_set_boolean(gfile,"window","GnomeDoubleClick",main_config.GnomeDoubleClick); + g_key_file_set_boolean(gfile,"window","MainDoubleClick",main_config.MainDoubleClick); g_key_file_remove_group(gfile, "sections",NULL); for (dictionary *dict=widgets->ICSys->first;dict!=NULL;dict=dict->next){ @@ -276,7 +278,7 @@ void on_paned_move(GtkPaned* self, GtkScrollType* scroll_type, actionWidgets *wi if (position<200) {position=200; gtk_paned_set_position(GTK_PANED(widgets->GnomePaned),200);} main_config.iconSegmentSize=position; double pos=((double)position-20); - if (pos<70) pos=70; + if (pos<50) pos=50; for (dictionary *dict=widgets->ICSys;dict!=NULL;dict=dict->next){ IVGraphicals *IV=(IVGraphicals*)dict->data; gtk_icon_view_set_item_width(GTK_ICON_VIEW(IV->IV),pos); @@ -292,6 +294,7 @@ int on_settingsOpen(GtkWidget *button, actionWidgets *widgets){ gtk_window_set_icon(GTK_WINDOW(widgets->SettingsWindow),gtk_icon_info_load_icon(gtk_icon_theme_lookup_icon_for_scale(icthm, AppIconPath,yon_get_icon_size(32),1,GTK_ICON_LOOKUP_FORCE_SVG),NULL)); gtk_widget_show_all(widgets->SettingsWindow); gtk_combo_box_set_active(GTK_COMBO_BOX(widgets->settingsThemeChooser),main_config.WindowTheme); + gtk_switch_set_state(GTK_SWITCH(widgets->settingsDoubleClickSwitch),*main_config.currentDoubleClick); int sz=1; if (*main_config.currentThemeIconSize==64) sz=4; if (*main_config.currentThemeIconSize==48) sz=3; @@ -515,8 +518,12 @@ void on_sections_close(GtkWidget *button, actionWidgets *widgets){ } void on_sections_save(GtkWidget *button, dictionary *widgetsD){ + int temptheme=main_config.WindowTheme; for (dictionary *dict=widgetsD->first;dict!=NULL;dict=dict->next){ actionWidgets *widgets=(actionWidgets*)dict->data; + if (strcmp(dict->key,"Gnome")==0) main_config.WindowTheme=1; + else main_config.WindowTheme=0; + for (dictionary *ICSys=widgets->ICSys->first;ICSys!=NULL;ICSys=ICSys->next){ gtk_container_remove(GTK_CONTAINER(widgets->icvpack),((IVGraphicals*)ICSys->data)->Box); } @@ -526,7 +533,10 @@ void on_sections_save(GtkWidget *button, dictionary *widgetsD){ } yon_show_icon_views(widgets->ICSys,widgets); hide_if_unfound(widgetsD); + if (main_config.WindowTheme==1) + yon_icv_resize_item(dict,widgets->GnomePaned); } + main_config.WindowTheme=temptheme; } void on_section_delete(GtkWidget *button, actionWidgets *widgets){ @@ -546,35 +556,38 @@ void on_section_delete(GtkWidget *button, actionWidgets *widgets){ void on_resized (GtkWidget *window, GdkEventConfigure *event, dictionary *widgetsD){ actionWidgets *widgets=(actionWidgets*)widgetsD->data; - int x,y; - if (gtk_window_is_maximized(GTK_WINDOW(widgets->window))==0) + if (gtk_window_is_maximized(GTK_WINDOW(widgets->window))==0){ main_config.fullscreen=0; + gtk_window_get_size(GTK_WINDOW(window),&main_config.windowWidth,&main_config.windowHeight); + gtk_window_get_position(GTK_WINDOW(window),&main_config.windowPosX,&main_config.windowPosY); + } else main_config.fullscreen=1; - gtk_window_get_size(GTK_WINDOW(window),&main_config.windowWidth,&main_config.windowHeight); - if (main_config.WindowTheme==1){ - if (main_config.windowWidth<1240){ - if (stld==0){ - stld=1; - main_config.WindowTheme=0; + gtk_revealer_set_reveal_child(GTK_REVEALER(widgets->Revealer),!gtk_revealer_get_child_revealed(GTK_REVEALER(widgets->Revealer))); + gtk_revealer_set_reveal_child(GTK_REVEALER(widgets->Revealer),gtk_revealer_get_child_revealed(GTK_REVEALER(widgets->Revealer))); + // if (main_config.WindowTheme==1){ + // if (main_config.windowWidth<1240){ + // if (stld==0){ + // stld=1; + // main_config.WindowTheme=0; - gtk_window_set_resizable(GTK_WINDOW(window),0); - gtk_window_get_position(GTK_WINDOW(window),&main_config.windowPosX,&main_config.windowPosY); - gtk_window_get_size(GTK_WINDOW(window),&main_config.windowWidth,&main_config.windowHeight); - yon_switch_theme(&widgetsD,yon_dictionary_find(&widgetsD,"Main")); - *main_config.currentThemeIconSize=24; - gtk_window_resize(GTK_WINDOW(widgets->window),main_config.windowWidth,main_config.windowHeight); - gtk_widget_hide(widgets->window); - } - }else { - yon_segments_hide(widgets); - yon_segments_show(widgets); - if (stld==1){ - stld=0; - cmld=0; - } - } - } + // gtk_window_set_resizable(GTK_WINDOW(window),0); + // gtk_window_get_position(GTK_WINDOW(window),&main_config.windowPosX,&main_config.windowPosY); + // gtk_window_get_size(GTK_WINDOW(window),&main_config.windowWidth,&main_config.windowHeight); + // yon_switch_theme(&widgetsD,yon_dictionary_find(&widgetsD,"Main")); + // *main_config.currentThemeIconSize=24; + // gtk_window_resize(GTK_WINDOW(widgets->window),main_config.windowWidth,main_config.windowHeight); + // gtk_widget_hide(widgets->window); + // } + // }else { + // yon_segments_hide(widgets); + // yon_segments_show(widgets); + // if (stld==1){ + // stld=0; + // cmld=0; + // } + // } + // } } void on_resized_done (GtkWidget *window, GdkEvent *event, dictionary *widgetsD){ @@ -594,13 +607,16 @@ void on_theme_selection_changed(GtkWidget *self, actionWidgets *widgets){ if (curthm==0){ main_config.currentThemeIconSize=&main_config.Mainiconsize; main_config.currentThemeLabelSize=&main_config.MainlabelSize; + main_config.currentDoubleClick=&main_config.MainDoubleClick; icsize=main_config.currentThemeIconSize; } else if (curthm==1){ main_config.currentThemeIconSize=&main_config.Gnomeiconsize; main_config.currentThemeLabelSize=&main_config.GnomelabelSize; + main_config.currentDoubleClick=&main_config.GnomeDoubleClick; icsize=main_config.currentThemeIconSize; } + gtk_switch_set_state(GTK_SWITCH(widgets->settingsDoubleClickSwitch),*main_config.currentDoubleClick); GtkIconTheme *icthm=gtk_icon_theme_get_default(); if (*icsize==24 || *icsize==1){ gtk_label_set_text(GTK_LABEL(widgets->settingsSizeInfoLabel),"24x24"); @@ -625,6 +641,25 @@ void on_theme_selection_changed(GtkWidget *self, actionWidgets *widgets){ } } +void on_reveal_banner(GtkWidget *button, actionWidgets *widgets){ + if (gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(widgets->BannerRevealer))==1){ + gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(widgets->BannerRevealer),0); + if (gtk_revealer_get_reveal_child(GTK_REVEALER(widgets->Revealer))==1){ + gtk_revealer_set_reveal_child(GTK_REVEALER(widgets->Revealer),0); + gtk_menu_button_set_direction(GTK_MENU_BUTTON(widgets->BannerRevealer),GTK_ARROW_RIGHT); + } + else { + gtk_revealer_set_reveal_child(GTK_REVEALER(widgets->Revealer),1); + gtk_menu_button_set_direction(GTK_MENU_BUTTON(widgets->BannerRevealer),GTK_ARROW_LEFT); + } + } +} + +void on_double_click_changed(GtkWidget *Switch, gboolean state, dictionary *widgetsD){ + *main_config.currentDoubleClick=state; + update_double_clicks(widgetsD); +} + void on_about(GtkWidget *button){ GtkBuilder *builder = gtk_builder_new_from_file(GladePath); GtkWidget *AboutButtons = GTK_WIDGET(gtk_builder_get_object(builder,"AboutButtons")); @@ -688,6 +723,19 @@ int reload_list(IVGraphicals *section){ gtk_icon_view_set_model(GTK_ICON_VIEW(section->IV),GTK_TREE_MODEL(section->LV)); } +void update_double_clicks(dictionary *widgetsD){ + for (dictionary *dict=widgetsD->first;dict!=NULL;dict=dict->next){ + actionWidgets *widgets=(actionWidgets*)dict->data; + for (dictionary *ivdct=widgets->ICSys->first;ivdct!=NULL;ivdct=ivdct->next){ + IVGraphicals *IV=(IVGraphicals*)ivdct->data; + if (strcmp(dict->key,"Gnome")==0) + gtk_icon_view_set_activate_on_single_click(GTK_ICON_VIEW(IV->IV),!main_config.GnomeDoubleClick); + else + gtk_icon_view_set_activate_on_single_click(GTK_ICON_VIEW(IV->IV),!main_config.MainDoubleClick); + } + } +} + int load_apps(IVGraphicals *section, apps *applist, int size){ int catstofind=sizeof(section->categories)/sizeof(char*); int i=0,sz=0; @@ -886,6 +934,8 @@ int setup_config(){ } char *foroutput=NULL; char *line=NULL; + main_config.GnomeDoubleClick=g_key_file_get_boolean(configfile,"window", "GnomeDoubleClick",NULL); + main_config.MainDoubleClick=g_key_file_get_boolean(configfile,"window", "MainDoubleClick",NULL); main_config.windowPosX=g_key_file_get_integer(configfile,"window","WindowPosX",NULL); main_config.windowPosY=g_key_file_get_integer(configfile,"window","WindowPosY",NULL); main_config.windowWidth=g_key_file_get_integer(configfile,"window","WindowWidth",NULL); @@ -908,9 +958,11 @@ int setup_config(){ if (main_config.WindowTheme==0){ main_config.currentThemeLabelSize=&main_config.MainlabelSize; main_config.currentThemeIconSize=&main_config.Mainiconsize; + main_config.currentDoubleClick=&main_config.MainDoubleClick; } else if (main_config.WindowTheme==1){ main_config.currentThemeLabelSize=&main_config.GnomelabelSize; main_config.currentThemeIconSize=&main_config.Gnomeiconsize; + main_config.currentDoubleClick=&main_config.GnomeDoubleClick; } yon_icon_size_convert(0); @@ -925,9 +977,9 @@ int setup_config(){ main_config.sections->next=NULL; } - if (main_config.windowWidth<1024&&main_config.windowHeight<720){ - main_config.WindowTheme=0; - } + // if (main_config.windowWidth<1024&&main_config.windowHeight<720){ + // main_config.WindowTheme=0; + // } return 1; }; @@ -1058,11 +1110,12 @@ IVGraphicals *yon_create_single_section_IV(char *name,char *cats){ if (main_config.WindowTheme==1) { gtk_icon_view_set_columns(GTK_ICON_VIEW(iv),1); gtk_widget_set_name(iv,"GnomeIcon"); - gtk_icon_view_set_activate_on_single_click(GTK_ICON_VIEW(iv),1); + gtk_icon_view_set_activate_on_single_click(GTK_ICON_VIEW(iv),!main_config.GnomeDoubleClick); gtk_icon_view_set_item_orientation(GTK_ICON_VIEW(iv),GTK_ORIENTATION_HORIZONTAL); } else { gtk_icon_view_set_item_padding(GTK_ICON_VIEW(iv),3); gtk_icon_view_set_item_orientation(GTK_ICON_VIEW(iv),GTK_ORIENTATION_HORIZONTAL); + gtk_icon_view_set_activate_on_single_click(GTK_ICON_VIEW(iv),!main_config.MainDoubleClick); gtk_icon_view_set_row_spacing(GTK_ICON_VIEW(iv),2); } GtkWidget *sep=gtk_separator_new(GTK_ORIENTATION_HORIZONTAL); @@ -1247,14 +1300,6 @@ void yon_switch_theme(dictionary **dict, dictionary *newone){ main_config.curThemeName="Main"; gtk_combo_box_set_active(GTK_COMBO_BOX(widgets->settingsThemeChooser),0); gtk_window_present(GTK_WINDOW(widgets->CautionWindow)); - gtk_widget_show(widgets->MenuItemAboutSystem); - } else if (x<1240){ - gtk_window_resize(GTK_WINDOW(widgets->window),1245,y); - main_config.WindowTheme=1; - main_config.curThemeName="Gnome"; - gtk_widget_show(widgets->window); - gtk_widget_hide(widgets->MenuItemAboutSystem); - }else{ main_config.WindowTheme=1; main_config.curThemeName="Gnome"; @@ -1558,10 +1603,17 @@ dictionary *yon_dictionary_get_last(dictionary *dict){ } void yon_main_quit(actionWidgets *widgets){ + // GtkWindow *wnd=GTK_WINDOW(widgets->window); + // gtk_window_get_position(wnd,&main_config.windowPosX,&main_config.windowPosY); + // gtk_window_get_size(wnd,&main_config.windowWidth,&main_config.windowHeight); save_config(widgets); gtk_main_quit(); } +void confugure_setings_window(actionWidgets *widgets){ + +} + dictionary *yon_theme_new(dictionary **widgetss, GtkBuilder *builder, char *theme_id, apps *applist, int appsize){ dictionary *widgets=*widgetss; @@ -1590,6 +1642,8 @@ dictionary *yon_theme_new(dictionary **widgetss, GtkBuilder *builder, char *them curWidgets->MenuItemSettings=GTK_WIDGET(gtk_builder_get_object(curWidgets->builder,yon_char_get_augumented(theme_id,"MenuItemSettings"))); curWidgets->MenuItemDocumentation=GTK_WIDGET(gtk_builder_get_object(curWidgets->builder,yon_char_get_augumented(theme_id,"MenuItemDocumentation"))); curWidgets->MenuItemAboutSystem=GTK_WIDGET(gtk_builder_get_object(curWidgets->builder,yon_char_get_augumented(theme_id,"MenuItemAboutSystem"))); + curWidgets->BannerRevealer=GTK_WIDGET(gtk_builder_get_object(curWidgets->builder,yon_char_get_augumented(theme_id,"RevealButton"))); + curWidgets->Revealer=GTK_WIDGET(gtk_builder_get_object(curWidgets->builder,yon_char_get_augumented(theme_id,"Revealer"))); curWidgets->SettingsSections=main_config.SettingsSections; if (main_config.lock_settings==1){ gtk_widget_set_sensitive(curWidgets->MenuItemSettings,0); @@ -1605,15 +1659,15 @@ dictionary *yon_theme_new(dictionary **widgetss, GtkBuilder *builder, char *them } g_signal_connect(G_OBJECT(curWidgets->window), "configure-event", G_CALLBACK(on_resized), widgets); - if (strcmp(theme_id,"Gnome")==0){ - g_signal_connect(G_OBJECT(curWidgets->window), "event-after", G_CALLBACK(on_resized_done), widgets); + // if (strcmp(theme_id,"Gnome")==0){ + // g_signal_connect(G_OBJECT(curWidgets->window), "event-after", G_CALLBACK(on_resized_done), widgets); - } + // } if (curWidgets->ButtonBackToMain!=NULL) g_signal_connect(G_OBJECT(curWidgets->ButtonBackToMain), "clicked", G_CALLBACK(on_backToSettingsButton_clicked), curWidgets); curWidgets->LabelTitle=GTK_WIDGET(gtk_builder_get_object(curWidgets->builder,"LabelTitle")); gtk_window_set_title(GTK_WINDOW(curWidgets->window),_("UBLinux Settings Manager")); - + gtk_window_move(GTK_WINDOW(curWidgets->window),main_config.windowPosX,main_config.windowPosY); // Standard for all themes curWidgets->settingsThemeChooser=GTK_WIDGET(gtk_builder_get_object(curWidgets->builder,"settingsThemeChooser")); @@ -1645,6 +1699,8 @@ dictionary *yon_theme_new(dictionary **widgetss, GtkBuilder *builder, char *them curWidgets->infoWarningWindow=GTK_WIDGET(gtk_builder_get_object(curWidgets->builder,"windowSettings-infoWarning")); curWidgets->infoWarningButton=GTK_WIDGET(gtk_builder_get_object(curWidgets->builder,"buttonSettings-infoWarning")); curWidgets->infoWarningLabel=GTK_WIDGET(gtk_builder_get_object(curWidgets->builder,"labelSettings-infoWarning")); + curWidgets->settingsDoubleClickSwitch=GTK_WIDGET(gtk_builder_get_object(curWidgets->builder,"settingsDoubleClickSwitch")); + curWidgets->settingsDoubleClickLabel=GTK_WIDGET(gtk_builder_get_object(curWidgets->builder,"settingsDoubleClickLabel")); curWidgets->applist=applist; curWidgets->appssize=appsize; GtkIconTheme *icthm=gtk_icon_theme_get_default(); @@ -1654,6 +1710,7 @@ dictionary *yon_theme_new(dictionary **widgetss, GtkBuilder *builder, char *them gtk_window_set_icon(GTK_WINDOW(curWidgets->SectionSettingsWindow),gtk_icon_info_load_icon(gtk_icon_theme_lookup_icon_for_scale(icthm, AppIconPath,yon_get_icon_size(32),1,GTK_ICON_LOOKUP_FORCE_SVG),NULL)); g_signal_connect(G_OBJECT(curWidgets->MenuItemDocumentation), "activate", G_CALLBACK(on_about), curWidgets->builder); //on_ButtonOpenHelp_activated g_signal_connect(G_OBJECT(curWidgets->MenuItemSettings), "activate", G_CALLBACK(on_settingsOpen), curWidgets); + g_signal_connect(G_OBJECT(curWidgets->BannerRevealer), "clicked", G_CALLBACK(on_reveal_banner), curWidgets); if (gnld==0){ gnld=1; @@ -1669,7 +1726,9 @@ dictionary *yon_theme_new(dictionary **widgetss, GtkBuilder *builder, char *them g_signal_connect(G_OBJECT(curWidgets->SectionSettingsSaveButton), "clicked", G_CALLBACK(on_sections_save), widgets); g_signal_connect(G_OBJECT(curWidgets->CautionUnderstandButton), "clicked", G_CALLBACK(on_caution_understand), curWidgets); g_signal_connect(G_OBJECT(curWidgets->settingsSectionsSettingsButton), "clicked", G_CALLBACK(on_section_settings_open), widgets); + g_signal_connect(G_OBJECT(curWidgets->settingsDoubleClickSwitch), "state-set", G_CALLBACK(on_double_click_changed), widgets); } + gtk_widget_hide_on_delete(curWidgets->window); g_signal_connect(G_OBJECT(curWidgets->window), "destroy", G_CALLBACK(yon_main_quit), curWidgets); gtk_label_set_text(GTK_LABEL(curWidgets->LabelTitle),_("UBLinux Settings Manager")); gtk_label_set_text(GTK_LABEL(curWidgets->settingsSubmenuLabelSize),_("Icon size")); @@ -1680,11 +1739,13 @@ dictionary *yon_theme_new(dictionary **widgetss, GtkBuilder *builder, char *them gtk_button_set_label(GTK_BUTTON(curWidgets->CancelHelpButton),_("Cancel")); gtk_button_set_label(GTK_BUTTON(curWidgets->settingsCancel),_("Close")); gtk_button_set_label(GTK_BUTTON(curWidgets->settingsAccept),_("Save and apply")); + gtk_button_set_label(GTK_BUTTON(curWidgets->SectionSettingsSaveButton),_("Apply")); gtk_button_set_label(GTK_BUTTON(curWidgets->AlwaysOpenDocumentation),_("Always redirect")); gtk_menu_item_set_label(GTK_MENU_ITEM(curWidgets->MenuItemSettings),_("Settings")); gtk_menu_item_set_label(GTK_MENU_ITEM(curWidgets->MenuItemDocumentation),_("About...")); gtk_button_set_label(GTK_BUTTON(curWidgets->CautionUnderstandButton),_("Understood")); gtk_button_set_label(GTK_BUTTON(curWidgets->settingsSectionsSettingsButton),_("Sections management")); + gtk_label_set_text(GTK_LABEL(curWidgets->settingsDoubleClickLabel),_("Double click selection")); return widgets; } diff --git a/source/ubl-settings-manager.h b/source/ubl-settings-manager.h index af8076c..bf11b95 100644 --- a/source/ubl-settings-manager.h +++ b/source/ubl-settings-manager.h @@ -11,7 +11,7 @@ #define CssPath "/usr/share/ubl-settings-manager/css/ubl-settings-manager.css" #define GlobalConfigPath "/etc/xdg/ubl-settings-manager/ubl-settings-manager.conf" #define UserConfigPath "/.config/ubl-settings-manager/ubl-settings-manager.conf" -#define AppIconPath "com.ublinux.ubl-settings-manager" +#define AppIconPath "ru.ublinux.ubl-settings-manager" #define AppBannerPath "/usr/share/ubl-settings-manager/images/ubl-settings-manager-banner.png" #define DesktopPath "/usr/share/applications/" #define IconPicturesPath "/usr/share/icons/hicolor/scalable/apps/" @@ -83,6 +83,9 @@ typedef struct { int changed; int fullscreen; int lock_settings; + int GnomeDoubleClick; + int MainDoubleClick; + int *currentDoubleClick; dictionary *SettingsSections; } config; @@ -165,6 +168,10 @@ typedef struct { GtkWidget *infoWarningWindow; GtkWidget *infoWarningButton; GtkWidget *infoWarningLabel; + GtkWidget *BannerRevealer; + GtkWidget *Revealer; + GtkWidget *settingsDoubleClickSwitch; + GtkWidget *settingsDoubleClickLabel; } actionWidgets; @@ -203,6 +210,7 @@ void sort_apps(apps *applist,int size); apps *find_apps(int *sizef); int check_categories(apps app, char *catstocheck); int setup_config(); +void update_double_clicks(dictionary *widgetsD); void yon_icv_resize_item(dictionary *icdict, GtkWidget *paned); dictionary *yon_theme_new(dictionary **widgetss, GtkBuilder *builder, char *theme_id, apps *applist, int appsize); char *yon_char_get_augumented(char *source, char *append); diff --git a/ubl-settings-manager-banner.png b/ubl-settings-manager-banner.png index b7f6b74..4c36d69 100644 Binary files a/ubl-settings-manager-banner.png and b/ubl-settings-manager-banner.png differ diff --git a/ubl-settings-manager.css b/ubl-settings-manager.css index 67166dc..c5b88a3 100644 --- a/ubl-settings-manager.css +++ b/ubl-settings-manager.css @@ -2,6 +2,20 @@ background-color: #404040; } +.thin{ + padding:0px; + margin:0px; + transition: 0ms ease-out; +} +.thin:active { + background-color: @theme_selected_bg_color; + transition: 10ms ease-out; +} +.transparent { + background:none; + border:none; + transition: 0ms ease-out; +} #GnomeIcon{ border-style:solid; @@ -19,41 +33,48 @@ background-color: #404040; font-weight: bold; } -.roundborder * { +.roundborder > * { + border-width:0px; +} +.roundborder:backdrop > * { border-width:0px; border-radius:5px; } .noborder { border: none; } -.menu:hover { - border-color:alpha(@theme_text_color, 0.01); -} -.menu { - border-color:alpha(@theme_text_color, 0.01); -} -.menu:hover >* { - border-color:alpha(@theme_text_color, 0.01); -} + .menuitembottom{ margin-top:0px; margin-bottom:3px; + border-color:inherit; + border-left-width:inherit; + border-right-width:inherit; } .menuitemmiddle{ margin-top:0px; margin-bottom:0px; + border-color:inherit; + border-left-width:inherit; + border-right-width:inherit; } .menuitemtop{ margin-bottom:0px; + border-color:inherit; + border-top-width:inherit; + border-left-width:inherit; + border-right-width:inherit; } .menuitemtop *{ margin:2px 2px 0 2px; padding: 5px 10px 3px 5px; + border:transparent; } .menuitemmiddle *{ margin:0 2px 0 2px; padding: 3px 10px 3px 5px; + border:transparent; } .menuitembottom *{ margin:0 2px 2px 2px; @@ -61,12 +82,23 @@ background-color: #404040; } .menuitemtop:hover { background:@theme_bg_color; + border-color:inherit; + border-top-width:inherit; + border-left-width:inherit; + border-right-width:inherit; } .menuitemmiddle:hover { background:@theme_bg_color; + border-color:inherit; + border-left-width:inherit; + border-right-width:inherit; } .menuitembottom:hover { background:@theme_bg_color; + border-color:inherit; + border-bottom-width:0px; + border-left-width:inherit; + border-right-width:inherit; } .menuitemtop:hover* { @@ -91,14 +123,17 @@ background-color: #404040; .workingbg, #workingbg { background-color:@theme_base_color; } + .workingbg.view.cell:selected { background-color:@theme_selected_bg_color; } + .workingbg.view.cell:hover { background-color:darker(@theme_selected_bg_color); color:@theme_selected_text_color; border-radius:3px; } + .bkim { transition: 200ms ease-out; background-image: none; diff --git a/ubl-settings-manager.glade b/ubl-settings-manager.glade index 107cc48..20051d7 100644 --- a/ubl-settings-manager.glade +++ b/ubl-settings-manager.glade @@ -39,13 +39,13 @@ False center start - 5 + 10 25 20 20 - You are not allowed to change theme on such low resolution! + Changing the theme is not available due to the small screen resolution! True - 0.019999999552965164 + 0 True @@ -123,9 +123,6 @@ - False @@ -338,13 +335,10 @@ Documentation True - True @@ -370,6 +364,11 @@ + + True + True + + 1 5 @@ -381,6 +380,7 @@ False 440 250 + ru.ublinux.ubl-settings-manager True @@ -456,7 +456,8 @@ 64 True False - com.ublinux.ubl-settings-manager + 32 + ru.ublinux.ubl-settings-manager False @@ -541,9 +542,52 @@ 1 + + + True + False + 3 + 3 + + + True + False + center + 12 + 12 + Double click selection + 0.019999999552965164 + + + True + True + 0 + + + + + True + True + 10 + 10 + + + False + True + end + 1 + + + + + False + True + 2 + + - button + Section management True True True @@ -555,64 +599,76 @@ False True - 2 + 3 True False + vertical True False - 5 - 5 - 3 - 30 - True - - Close - 200 + True - True - True - 2 + False + 5 + 5 + 3 + 30 + True + + + Close + 200 + True + True + True + 2 + + + False + True + 0 + + + + + Apply + 200 + True + True + True + 2 + + + False + True + 1 + + - False + True True 0 - - - Save and apply - 200 - True - True - True - 2 - - - False - True - 1 - - - True + False True - 0 + 1 False True - 4 + 5 @@ -627,7 +683,7 @@ True False 32 - com.ublinux.ubl-settings-manager + ru.ublinux.ubl-settings-manager 5 @@ -648,7 +704,7 @@ False 800 - 600 + 558 ubconfig-gui @@ -665,22 +721,69 @@ True False - vertical - + True False - center - 3 + start + slide-left + + + True + False + start + start + 3 + + + + + + False + True + 0 + + + + + True + False + vertical + + + action1 + True + True + False + True + left + + + + + + + True + True + 1 + + False True - 0 + 1 + + + + + False + True + 0 + + + + + True + False + vertical + + + action1 + True + True + False + True + True + left + + + + + + + True + True + 1 + + False True - 0 + 1 @@ -1455,7 +1577,7 @@ True False 32 - com.ublinux.ubl-settings-manager + ru.ublinux.ubl-settings-manager 5 @@ -1491,9 +1613,6 @@ - False @@ -1581,6 +1700,7 @@ natural horizontal liststoreTemplate + 135 0 2 5 @@ -1601,7 +1721,7 @@ 0 word - 150 + 130 3 @@ -1706,7 +1826,7 @@ False 800 - 600 + 558 ubconfig-gui @@ -1885,7 +2005,7 @@ True False 32 - com.ublinux.ubl-settings-manager + ru.ublinux.ubl-settings-manager 5 @@ -1971,7 +2091,7 @@ Project Home Page UBGroup UBGroup - com.ublinux.ubl-settings-manager + ru.ublinux.ubl-settings-manager gpl-2-0 @@ -1995,99 +2115,4 @@ - - False - - - True - False - vertical - - - True - False - - - True - False - start - 20 - 20 - 20 - 20 - True - dialog-question-symbolic - 6 - - - True - True - 0 - - - - - True - False - start - 10 - 15 - 20 - 20 - Looks like you don't have ubl-settings-info installed on your PC. - True - 0 - - - False - True - 1 - - - - - False - True - 0 - - - - - Ok - True - True - True - end - end - 5 - 5 - 5 - 5 - - - False - True - end - 1 - - - - - - - True - False - Warning - False - - - True - False - 32 - dialog-question-symbolic - - - - - diff --git a/ubl-settings-manager.pot b/ubl-settings-manager.pot index 0f94860..4c5ebc1 100644 --- a/ubl-settings-manager.pot +++ b/ubl-settings-manager.pot @@ -1,98 +1,106 @@ -# Language translations for ubl-settings-manager package. -# Copyright (C) 2022, UBTech LLC -# This file is distributed under the same license as the ubl-settings-manager package. -# UBLinux Team , 2022 +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# FIRST AUTHOR , YEAR. # #, fuzzy msgid "" msgstr "" -"Project-Id-Version: ubl-settings-manager 1.0\n" -"Report-Msgid-Bugs-To: info@ublinux.com\n" -"POT-Creation-Date: 2023-01-01 00:00+0600\n" -"PO-Revision-Date: 2023-01-01 00:00+0600\n" -"Last-Translator: UBLinux Team \n" -"Language-Team: UBLinux Team \n" +"Project-Id-Version: PACKAGE VERSION\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2023-03-22 11:23+0600\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" "Language: \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -#: source/ubl-settings-manager.c:632 +#: source/ubl-settings-manager.c:667 msgid "Settings manager for UBLinux" msgstr "" -#: source/ubl-settings-manager.c:633 source/ubl-settings-manager.c:1601 -#: source/ubl-settings-manager.c:1615 source/ubl-settings-manager.c:1674 +#: source/ubl-settings-manager.c:668 source/ubl-settings-manager.c:1655 +#: source/ubl-settings-manager.c:1669 source/ubl-settings-manager.c:1733 msgid "UBLinux Settings Manager" msgstr "" -#: source/ubl-settings-manager.c:636 +#: source/ubl-settings-manager.c:671 msgid "Project Home Page" msgstr "" -#: source/ubl-settings-manager.c:1600 +#: source/ubl-settings-manager.c:1654 msgid "Back to all settings" msgstr "" -#: source/ubl-settings-manager.c:1675 +#: source/ubl-settings-manager.c:1734 msgid "Icon size" msgstr "" -#: source/ubl-settings-manager.c:1676 +#: source/ubl-settings-manager.c:1735 msgid "Window theme" msgstr "" -#: source/ubl-settings-manager.c:1677 +#: source/ubl-settings-manager.c:1736 msgid "Would you like to read documentation in the Web?" msgstr "" -#: source/ubl-settings-manager.c:1678 +#: source/ubl-settings-manager.c:1737 msgid "" "You will be redirected to documentation site, where user help pages are " "translated and supported by community." msgstr "" -#: source/ubl-settings-manager.c:1679 +#: source/ubl-settings-manager.c:1738 msgid "Read online" msgstr "" -#: source/ubl-settings-manager.c:1680 +#: source/ubl-settings-manager.c:1739 msgid "Cancel" msgstr "" -#: source/ubl-settings-manager.c:1681 +#: source/ubl-settings-manager.c:1740 msgid "Close" msgstr "" -#: source/ubl-settings-manager.c:1682 +#: source/ubl-settings-manager.c:1741 msgid "Save and apply" msgstr "" -#: source/ubl-settings-manager.c:1683 +#: source/ubl-settings-manager.c:1742 +msgid "Apply" +msgstr "" + +#: source/ubl-settings-manager.c:1743 msgid "Always redirect" msgstr "" -#: source/ubl-settings-manager.c:1684 +#: source/ubl-settings-manager.c:1744 msgid "Settings" msgstr "" -#: source/ubl-settings-manager.c:1685 +#: source/ubl-settings-manager.c:1745 msgid "About..." msgstr "" -#: source/ubl-settings-manager.c:1686 +#: source/ubl-settings-manager.c:1746 msgid "Understood" msgstr "" -#: source/ubl-settings-manager.c:1687 +#: source/ubl-settings-manager.c:1747 msgid "Sections management" msgstr "" -#: source/ubl-settings-manager.c:1792 +#: source/ubl-settings-manager.c:1748 +msgid "Double click selection" +msgstr "" + +#: source/ubl-settings-manager.c:1853 msgid "Standard theme" msgstr "" -#: source/ubl-settings-manager.c:1793 +#: source/ubl-settings-manager.c:1854 msgid "GNOME theme" msgstr "" @@ -114,15 +122,3 @@ msgid "" " -V, --version\t \t Show package version\n" " --lock-settings Lock menu settings\n" msgstr "" - -msgid "Personal" -msgstr "" - -msgid "Hardware" -msgstr "" - -msgid "System" -msgstr "" - -msgid "Misc" -msgstr "" diff --git a/ubl-settings-manager_ru.po b/ubl-settings-manager_ru.po index 24c6e99..45497fa 100644 --- a/ubl-settings-manager_ru.po +++ b/ubl-settings-manager_ru.po @@ -1,98 +1,107 @@ -# Russian translations for ubl-settings-manager package. -# Copyright (C) 2022, UBTech LLC -# This file is distributed under the same license as the ubl-settings-manager package. -# UBLinux Team , 2022 +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# FIRST AUTHOR , YEAR. # #, fuzzy -msgid "" +msgid "translation_info\n" msgstr "" -"Project-Id-Version: ubl-settings-manager 1.0\n" -"Report-Msgid-Bugs-To: info@ublinux.com\n" -"POT-Creation-Date: 2023-01-01 00:00+0600\n" -"PO-Revision-Date: 2023-01-01 00:00+0600\n" -"Last-Translator: UBLinux Team \n" -"Language-Team: Russian - UBLinux Team \n" -"Language: Russian\n" +"Project-Id-Version: PACKAGE VERSION\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2023-03-22 11:23+0600\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"Language: \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -#: source/ubl-settings-manager.c:724 +#: source/ubl-settings-manager.c:667 msgid "Settings manager for UBLinux" msgstr "Менеджер настроек для UBLinux" -#: source/ubl-settings-manager.c:725 source/ubl-settings-manager.c:1584 -#: source/ubl-settings-manager.c:1598 source/ubl-settings-manager.c:1657 +#: source/ubl-settings-manager.c:668 source/ubl-settings-manager.c:1655 +#: source/ubl-settings-manager.c:1669 source/ubl-settings-manager.c:1733 msgid "UBLinux Settings Manager" msgstr "Настройки UBLinux" -#: source/ubl-settings-manager.c:728 +#: source/ubl-settings-manager.c:671 msgid "Project Home Page" msgstr "Домашняя страница проекта" -#: source/ubl-settings-manager.c:1583 +#: source/ubl-settings-manager.c:1654 msgid "Back to all settings" msgstr "Назад ко всем настройкам" -#: source/ubl-settings-manager.c:1658 +#: source/ubl-settings-manager.c:1734 msgid "Icon size" msgstr "Размер иконок" -#: source/ubl-settings-manager.c:1659 +#: source/ubl-settings-manager.c:1735 msgid "Window theme" msgstr "Выбор темы" -#: source/ubl-settings-manager.c:1660 +#: source/ubl-settings-manager.c:1736 msgid "Would you like to read documentation in the Web?" -msgstr "Вы хотите прочитать документацию в Сети?" +msgstr "Вы хотите прочитать справку в Сети?" -#: source/ubl-settings-manager.c:1661 +#: source/ubl-settings-manager.c:1737 msgid "" "You will be redirected to documentation site, where user help pages are " "translated and supported by community." -msgstr "Вы будете перенаправлены на сайт с документацией где страницы помощи переводятся и поддерживаются сообществом." +msgstr "Вы будете перенаправлены на сайт с документацией, где страницы помощи" +"переводятся и поддерживаются сообществом." -#: source/ubl-settings-manager.c:1662 +#: source/ubl-settings-manager.c:1738 msgid "Read online" msgstr "Прочитать онлайн" -#: source/ubl-settings-manager.c:1663 +#: source/ubl-settings-manager.c:1739 msgid "Cancel" msgstr "Отменить" -#: source/ubl-settings-manager.c:1664 +#: source/ubl-settings-manager.c:1740 msgid "Close" msgstr "Закрыть" -#: source/ubl-settings-manager.c:1665 +#: source/ubl-settings-manager.c:1741 msgid "Save and apply" msgstr "Сохранить и применить" -#: source/ubl-settings-manager.c:1666 +#: source/ubl-settings-manager.c:1742 +msgid "Apply" +msgstr "Применить" + +#: source/ubl-settings-manager.c:1743 msgid "Always redirect" msgstr "Всегда перенаправлять" -#: source/ubl-settings-manager.c:1667 +#: source/ubl-settings-manager.c:1744 msgid "Settings" msgstr "Настройки" -#: source/ubl-settings-manager.c:1668 +#: source/ubl-settings-manager.c:1745 msgid "About..." msgstr "О программе" -#: source/ubl-settings-manager.c:1669 +#: source/ubl-settings-manager.c:1746 msgid "Understood" msgstr "Понятно" -#: source/ubl-settings-manager.c:1670 +#: source/ubl-settings-manager.c:1747 msgid "Sections management" msgstr "Настройка разделов" -#: source/ubl-settings-manager.c:1768 +#: source/ubl-settings-manager.c:1748 +msgid "Double click selection" +msgstr "Открывать приложения двойным нажатием" + +#: source/ubl-settings-manager.c:1853 msgid "Standard theme" msgstr "Стандартная тема" -#: source/ubl-settings-manager.c:1769 +#: source/ubl-settings-manager.c:1854 msgid "GNOME theme" msgstr "GNOME тема" @@ -100,11 +109,11 @@ msgstr "GNOME тема" msgid "Version: " msgstr "Версия: " -#: source/ubl-settings-manager.h:8 +#: source/ubl-settings-manager.h:9 msgid "ubl-settings-manager version: " msgstr "ubl-settings-manager версия: " -#: source/ubl-settings-manager.h:8 +#: source/ubl-settings-manager.h:9 msgid "" "\n" "GTK settings manager for UBLinux\n" @@ -115,21 +124,9 @@ msgid "" " --lock-settings Lock menu settings\n" msgstr "" "\n" -"GTK Менеджер настроек для UBLinux\n" -"Использование: ubl-settings-manager [АРГУМЕНТЫ...]\n" +"GTK менеджер настроек для UBLinux\n" +"Использование: ubl-settings-manager [АРГУМЕНТЫ...]" "Аргументы:\n" " -h, --help\t\t Показать помощь\n" " -V, --version\t \t Показать версию пакета\n" -" --lock-settings \t Заблокировать окно настроек\n" - -msgid "Personal" -msgstr "Личные" - -msgid "Hardware" -msgstr "Оборудование" - -msgid "System" -msgstr "Система" - -msgid "Misc" -msgstr "Прочее" +" --lock-settings Заблокировать окно настроек\n"