@ -257,6 +257,8 @@ int on_settings_accept(GtkWidget *button, dictionary **widgetsDs){
sprintf ( fromint , " %d " , ( int ) ( ( float ) main_config . labelDensity / 1000 ) ) ;
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 " , " LabelDensity " , fromint ) ;
g_key_file_set_string ( gfile , " window " , " User " , login ) ;
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 ) ;
g_key_file_remove_group ( gfile , " sections " , NULL ) ;
for ( dictionary * dict = widgets - > ICSys - > first ; dict ! = NULL ; dict = dict - > next ) {
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 ) ; }
if ( position < 200 ) { position = 200 ; gtk_paned_set_position ( GTK_PANED ( widgets - > GnomePaned ) , 200 ) ; }
main_config . iconSegmentSize = position ;
main_config . iconSegmentSize = position ;
double pos = ( ( double ) position - 20 ) ;
double pos = ( ( double ) position - 20 ) ;
if ( pos < 70) pos = 7 0;
if ( pos < 50) pos = 5 0;
for ( dictionary * dict = widgets - > ICSys ; dict ! = NULL ; dict = dict - > next ) {
for ( dictionary * dict = widgets - > ICSys ; dict ! = NULL ; dict = dict - > next ) {
IVGraphicals * IV = ( IVGraphicals * ) dict - > data ;
IVGraphicals * IV = ( IVGraphicals * ) dict - > data ;
gtk_icon_view_set_item_width ( GTK_ICON_VIEW ( IV - > IV ) , pos ) ;
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_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_widget_show_all ( widgets - > SettingsWindow ) ;
gtk_combo_box_set_active ( GTK_COMBO_BOX ( widgets - > settingsThemeChooser ) , main_config . WindowTheme ) ;
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 ;
int sz = 1 ;
if ( * main_config . currentThemeIconSize = = 64 ) sz = 4 ;
if ( * main_config . currentThemeIconSize = = 64 ) sz = 4 ;
if ( * main_config . currentThemeIconSize = = 48 ) sz = 3 ;
if ( * main_config . currentThemeIconSize = = 48 ) sz = 3 ;
@ -357,7 +360,7 @@ void on_section_settings_open(GtkButton* self,dictionary *cWidgets){
main_config . SettingsSections - > first - > key = name ;
main_config . SettingsSections - > first - > key = name ;
yon_segments_hide ( widgets ) ;
yon_segments_hide ( widgets ) ;
yon_segment_show ( widgets , ( SectionSettingSegment * ) main_config . SettingsSections - > data ) ;
yon_segment_show ( widgets , ( SectionSettingSegment * ) main_config . SettingsSections - > data ) ;
for ( dictionary * dct = main_config . sections - > first - > next ; dct ! = NULL ; dct = dct - > next ) { // ошибка если меньше двух
for ( dictionary * dct = main_config . sections - > first - > next ; dct ! = NULL ; dct = dct - > next ) {
name = ( ( IconSection * ) dct - > data ) - > section ;
name = ( ( IconSection * ) dct - > data ) - > section ;
categories = ( ( IconSection * ) dct - > data ) - > categories ;
categories = ( ( IconSection * ) dct - > data ) - > categories ;
main_config . SettingsSections = yon_dictionary_create_with_data_connected ( main_config . SettingsSections , name , yon_create_section_setting ( name , categories ) ) ;
main_config . SettingsSections = yon_dictionary_create_with_data_connected ( main_config . SettingsSections , name , yon_create_section_setting ( name , categories ) ) ;
@ -492,7 +495,7 @@ void on_sections_add(GtkWidget *button, actionWidgets *widgets){
SectionSettingSegment * segment = yon_create_section_setting ( category_name , category_categories ) ;
SectionSettingSegment * segment = yon_create_section_setting ( category_name , category_categories ) ;
dictionary * newsection = yon_dictionary_get_last ( main_config . SettingsSections ) ;
dictionary * newsection = yon_dictionary_get_last ( main_config . SettingsSections ) ;
newsection = yon_dictionary_create_with_data_connected ( newsection , category_name , segment ) ;
newsection = yon_dictionary_create_with_data_connected ( newsection , category_name , segment ) ;
printf ( " %s \n " , category_name ) ;
// printf("%s\n",category_name);
dictionary * newsec = yon_dictionary_create_empty ( ) ;
dictionary * newsec = yon_dictionary_create_empty ( ) ;
newsec = yon_section_new ( newsec , category_name , category_categories ) ;
newsec = yon_section_new ( newsec , category_name , category_categories ) ;
main_config . sections = yon_dictionary_create_with_data_connected ( main_config . sections , category_name , newsec - > data ) ;
main_config . sections = yon_dictionary_create_with_data_connected ( main_config . sections , category_name , newsec - > data ) ;
@ -515,8 +518,12 @@ void on_sections_close(GtkWidget *button, actionWidgets *widgets){
}
}
void on_sections_save ( GtkWidget * button , dictionary * widgetsD ) {
void on_sections_save ( GtkWidget * button , dictionary * widgetsD ) {
int temptheme = main_config . WindowTheme ;
for ( dictionary * dict = widgetsD - > first ; dict ! = NULL ; dict = dict - > next ) {
for ( dictionary * dict = widgetsD - > first ; dict ! = NULL ; dict = dict - > next ) {
actionWidgets * widgets = ( actionWidgets * ) dict - > data ;
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 ) {
for ( dictionary * ICSys = widgets - > ICSys - > first ; ICSys ! = NULL ; ICSys = ICSys - > next ) {
gtk_container_remove ( GTK_CONTAINER ( widgets - > icvpack ) , ( ( IVGraphicals * ) ICSys - > data ) - > Box ) ;
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 ) ;
yon_show_icon_views ( widgets - > ICSys , widgets ) ;
hide_if_unfound ( widgetsD ) ;
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 ) {
void on_section_delete ( GtkWidget * button , actionWidgets * widgets ) {
@ -546,35 +556,16 @@ void on_section_delete(GtkWidget *button, actionWidgets *widgets){
void on_resized ( GtkWidget * window , GdkEventConfigure * event , dictionary * widgetsD ) {
void on_resized ( GtkWidget * window , GdkEventConfigure * event , dictionary * widgetsD ) {
actionWidgets * widgets = ( actionWidgets * ) widgetsD - > data ;
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 ;
main_config . fullscreen = 0 ;
else
main_config . fullscreen = 1 ;
gtk_window_get_size ( GTK_WINDOW ( window ) , & main_config . windowWidth , & main_config . windowHeight ) ;
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_window_set_resizable ( GTK_WINDOW ( window ) , 0 ) ;
gtk_window_get_position ( GTK_WINDOW ( window ) , & main_config . windowPosX , & main_config . windowPosY ) ;
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 ;
}
}
}
}
else
main_config . fullscreen = 1 ;
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 ) ) ) ;
}
}
void on_resized_done ( GtkWidget * window , GdkEvent * event , dictionary * widgetsD ) {
void on_resized_done ( GtkWidget * window , GdkEvent * event , dictionary * widgetsD ) {
@ -594,13 +585,16 @@ void on_theme_selection_changed(GtkWidget *self, actionWidgets *widgets){
if ( curthm = = 0 ) {
if ( curthm = = 0 ) {
main_config . currentThemeIconSize = & main_config . Mainiconsize ;
main_config . currentThemeIconSize = & main_config . Mainiconsize ;
main_config . currentThemeLabelSize = & main_config . MainlabelSize ;
main_config . currentThemeLabelSize = & main_config . MainlabelSize ;
main_config . currentDoubleClick = & main_config . MainDoubleClick ;
icsize = main_config . currentThemeIconSize ;
icsize = main_config . currentThemeIconSize ;
}
}
else if ( curthm = = 1 ) {
else if ( curthm = = 1 ) {
main_config . currentThemeIconSize = & main_config . Gnomeiconsize ;
main_config . currentThemeIconSize = & main_config . Gnomeiconsize ;
main_config . currentThemeLabelSize = & main_config . GnomelabelSize ;
main_config . currentThemeLabelSize = & main_config . GnomelabelSize ;
main_config . currentDoubleClick = & main_config . GnomeDoubleClick ;
icsize = main_config . currentThemeIconSize ;
icsize = main_config . currentThemeIconSize ;
}
}
gtk_switch_set_state ( GTK_SWITCH ( widgets - > settingsDoubleClickSwitch ) , * main_config . currentDoubleClick ) ;
GtkIconTheme * icthm = gtk_icon_theme_get_default ( ) ;
GtkIconTheme * icthm = gtk_icon_theme_get_default ( ) ;
if ( * icsize = = 24 | | * icsize = = 1 ) {
if ( * icsize = = 24 | | * icsize = = 1 ) {
gtk_label_set_text ( GTK_LABEL ( widgets - > settingsSizeInfoLabel ) , " 24x24 " ) ;
gtk_label_set_text ( GTK_LABEL ( widgets - > settingsSizeInfoLabel ) , " 24x24 " ) ;
@ -625,6 +619,28 @@ 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 ) ;
main_config . BannerHidden = 1 ;
}
else {
gtk_revealer_set_reveal_child ( GTK_REVEALER ( widgets - > Revealer ) , 1 ) ;
gtk_menu_button_set_direction ( GTK_MENU_BUTTON ( widgets - > BannerRevealer ) , GTK_ARROW_LEFT ) ;
main_config . BannerHidden = 0 ;
}
}
}
void on_double_click_changed ( GtkWidget * Switch , gboolean state , dictionary * widgetsD ) {
// printf("%s\n","SGRBHSDRFJHNSDRJHNSDRJHNDRDJR");
* main_config . currentDoubleClick = state ;
update_double_clicks ( widgetsD ) ;
}
void on_about ( GtkWidget * button ) {
void on_about ( GtkWidget * button ) {
GtkBuilder * builder = gtk_builder_new_from_file ( GladePath ) ;
GtkBuilder * builder = gtk_builder_new_from_file ( GladePath ) ;
GtkWidget * AboutButtons = GTK_WIDGET ( gtk_builder_get_object ( builder , " AboutButtons " ) ) ;
GtkWidget * AboutButtons = GTK_WIDGET ( gtk_builder_get_object ( builder , " AboutButtons " ) ) ;
@ -688,6 +704,28 @@ int reload_list(IVGraphicals *section){
gtk_icon_view_set_model ( GTK_ICON_VIEW ( section - > IV ) , GTK_TREE_MODEL ( section - > LV ) ) ;
gtk_icon_view_set_model ( GTK_ICON_VIEW ( section - > IV ) , GTK_TREE_MODEL ( section - > LV ) ) ;
}
}
void update_double_clicks ( dictionary * widgetsD ) {
printf ( " %s \n " , " 1 " ) ;
for ( dictionary * dict = widgetsD - > first ; dict ! = NULL ; dict = dict - > next ) {
printf ( " %s \n " , " 2 " ) ;
actionWidgets * widgets = ( actionWidgets * ) dict - > data ;
printf ( " %s \n " , " 3 " ) ;
for ( dictionary * ivdct = widgets - > ICSys - > first ; ivdct ! = NULL ; ivdct = ivdct - > next ) {
printf ( " %s \n " , " 4 " ) ;
IVGraphicals * IV = ( IVGraphicals * ) ivdct - > data ;
printf ( " %s \n " , " 5 " ) ;
if ( strcmp ( dict - > key , " Gnome " ) = = 0 ) {
printf ( " %s \n " , " 6 " ) ;
gtk_icon_view_set_activate_on_single_click ( GTK_ICON_VIEW ( IV - > IV ) , ! main_config . GnomeDoubleClick ) ;
printf ( " %s \n " , " 7 " ) ;
} else {
gtk_icon_view_set_activate_on_single_click ( GTK_ICON_VIEW ( IV - > IV ) , ! main_config . MainDoubleClick ) ;
printf ( " %s \n " , " 8 " ) ;
}
}
}
}
int load_apps ( IVGraphicals * section , apps * applist , int size ) {
int load_apps ( IVGraphicals * section , apps * applist , int size ) {
int catstofind = sizeof ( section - > categories ) / sizeof ( char * ) ;
int catstofind = sizeof ( section - > categories ) / sizeof ( char * ) ;
int i = 0 , sz = 0 ;
int i = 0 , sz = 0 ;
@ -886,6 +924,8 @@ int setup_config(){
}
}
char * foroutput = NULL ;
char * foroutput = NULL ;
char * line = 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 . windowPosX = g_key_file_get_integer ( configfile , " window " , " WindowPosX " , NULL ) ;
main_config . windowPosY = g_key_file_get_integer ( configfile , " window " , " WindowPosY " , 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 ) ;
main_config . windowWidth = g_key_file_get_integer ( configfile , " window " , " WindowWidth " , NULL ) ;
@ -899,6 +939,7 @@ int setup_config(){
main_config . labelDensity = g_key_file_get_integer ( configfile , " window " , " LabelDensity " , NULL ) ;
main_config . labelDensity = g_key_file_get_integer ( configfile , " window " , " LabelDensity " , NULL ) ;
main_config . lastUser = g_key_file_get_string ( configfile , " window " , " User " , NULL ) ;
main_config . lastUser = g_key_file_get_string ( configfile , " window " , " User " , NULL ) ;
main_config . fullscreen = g_key_file_get_boolean ( configfile , " window " , " fullscreen " , NULL ) ;
main_config . fullscreen = g_key_file_get_boolean ( configfile , " window " , " fullscreen " , NULL ) ;
main_config . BannerHidden = g_key_file_get_boolean ( configfile , " window " , " BannerHidden " , NULL ) ;
if ( main_config . MainlabelSize = = 0 ) main_config . MainlabelSize = 12 ;
if ( main_config . MainlabelSize = = 0 ) main_config . MainlabelSize = 12 ;
if ( main_config . labelDensity = = 0 ) main_config . labelDensity = 0 ;
if ( main_config . labelDensity = = 0 ) main_config . labelDensity = 0 ;
main_config . MainlabelSize = main_config . MainlabelSize * 1000 ;
main_config . MainlabelSize = main_config . MainlabelSize * 1000 ;
@ -908,9 +949,11 @@ int setup_config(){
if ( main_config . WindowTheme = = 0 ) {
if ( main_config . WindowTheme = = 0 ) {
main_config . currentThemeLabelSize = & main_config . MainlabelSize ;
main_config . currentThemeLabelSize = & main_config . MainlabelSize ;
main_config . currentThemeIconSize = & main_config . Mainiconsize ;
main_config . currentThemeIconSize = & main_config . Mainiconsize ;
main_config . currentDoubleClick = & main_config . MainDoubleClick ;
} else if ( main_config . WindowTheme = = 1 ) {
} else if ( main_config . WindowTheme = = 1 ) {
main_config . currentThemeLabelSize = & main_config . GnomelabelSize ;
main_config . currentThemeLabelSize = & main_config . GnomelabelSize ;
main_config . currentThemeIconSize = & main_config . Gnomeiconsize ;
main_config . currentThemeIconSize = & main_config . Gnomeiconsize ;
main_config . currentDoubleClick = & main_config . GnomeDoubleClick ;
}
}
yon_icon_size_convert ( 0 ) ;
yon_icon_size_convert ( 0 ) ;
@ -925,9 +968,9 @@ int setup_config(){
main_config . sections - > next = NULL ;
main_config . sections - > next = NULL ;
}
}
if ( main_config . windowWidth < 1024 & & main_config . windowHeight < 720 ) {
// if (main_config.windowWidth<1024&&main_config.windowHeight<720){
main_config . WindowTheme = 0 ;
// main_config.WindowTheme=0;
}
// }
return 1 ;
return 1 ;
} ;
} ;
@ -936,13 +979,15 @@ void save_config(actionWidgets *widgets){
int sz = 1 , szm = 1 ;
int sz = 1 , szm = 1 ;
if ( main_config . Gnomeiconsize = = 64 ) sz = 4 ;
if ( main_config . Gnomeiconsize = = 64 ) sz = 4 ;
if ( main_config . Gnomeiconsize = = 48 ) sz = 3 ;
else if ( main_config . Gnomeiconsize = = 48 ) sz = 3 ;
if ( main_config . Gnomeiconsize = = 32 ) sz = 2 ;
else if ( main_config . Gnomeiconsize = = 32 ) sz = 2 ;
if ( main_config . Gnomeiconsize = = 24 ) sz = 1 ;
else if ( main_config . Gnomeiconsize = = 24 ) sz = 1 ;
else sz = 3 ;
if ( main_config . Mainiconsize = = 64 ) szm = 4 ;
if ( main_config . Mainiconsize = = 64 ) szm = 4 ;
if ( main_config . Mainiconsize = = 48 ) szm = 3 ;
else if ( main_config . Mainiconsize = = 48 ) szm = 3 ;
if ( main_config . Mainiconsize = = 32 ) szm = 2 ;
else if ( main_config . Mainiconsize = = 32 ) szm = 2 ;
if ( main_config . Mainiconsize = = 24 ) szm = 1 ;
else if ( main_config . Mainiconsize = = 24 ) szm = 1 ;
else szm = 3 ;
char * fromint = malloc ( 5 ) ;
char * fromint = malloc ( 5 ) ;
memset ( fromint , 0 , 5 ) ;
memset ( fromint , 0 , 5 ) ;
GError * err = NULL ;
GError * err = NULL ;
@ -978,6 +1023,7 @@ void save_config(actionWidgets *widgets){
g_key_file_set_string ( gfile , " window " , " WindowHeight " , fromint ) ;
g_key_file_set_string ( gfile , " window " , " WindowHeight " , fromint ) ;
}
}
g_key_file_set_boolean ( gfile , " window " , " fullscreen " , main_config . fullscreen ) ;
g_key_file_set_boolean ( gfile , " window " , " fullscreen " , main_config . fullscreen ) ;
g_key_file_set_boolean ( gfile , " window " , " BannerHidden " , main_config . BannerHidden ) ;
sprintf ( fromint , " %d " , main_config . WindowTheme ) ;
sprintf ( fromint , " %d " , main_config . WindowTheme ) ;
g_key_file_set_string ( gfile , " window " , " WindowTheme " , fromint ) ;
g_key_file_set_string ( gfile , " window " , " WindowTheme " , fromint ) ;
sprintf ( fromint , " %d " , sz ) ;
sprintf ( fromint , " %d " , sz ) ;
@ -1025,11 +1071,8 @@ char *yon_char_divide_search(char *source, char* dividepos, int delete_divider){
void yon_set_default_sections ( dictionary * section ) {
void yon_set_default_sections ( dictionary * section ) {
yon_section_new ( section , " Personal " , " X-UBL-SettingsManager;X-UBL-PersonalSettings; " ) ;
yon_section_new ( section , " Personal " , " X-UBL-SettingsManager;X-UBL-PersonalSettings; " ) ;
section = yon_dictionary_create_conneced ( section ) ;
yon_section_new ( section , " Hardware " , " X-UBL-SettingsManager;X-UBL-HardwareSettings; " ) ;
yon_section_new ( section , " Hardware " , " X-UBL-SettingsManager;X-UBL-HardwareSettings; " ) ;
section = yon_dictionary_create_conneced ( section ) ;
yon_section_new ( section , " System " , " X-UBL-SettingsManager;X-UBL-SystemSettings; " ) ;
yon_section_new ( section , " System " , " X-UBL-SettingsManager;X-UBL-SystemSettings; " ) ;
section = yon_dictionary_create_conneced ( section ) ;
yon_section_new ( section , " Misc " , " X-UBL-SettingsManager;X-UBL-MiscSettings; " ) ;
yon_section_new ( section , " Misc " , " X-UBL-SettingsManager;X-UBL-MiscSettings; " ) ;
}
}
@ -1058,11 +1101,12 @@ IVGraphicals *yon_create_single_section_IV(char *name,char *cats){
if ( main_config . WindowTheme = = 1 ) {
if ( main_config . WindowTheme = = 1 ) {
gtk_icon_view_set_columns ( GTK_ICON_VIEW ( iv ) , 1 ) ;
gtk_icon_view_set_columns ( GTK_ICON_VIEW ( iv ) , 1 ) ;
gtk_widget_set_name ( iv , " GnomeIcon " ) ;
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 ) ;
gtk_icon_view_set_item_orientation ( GTK_ICON_VIEW ( iv ) , GTK_ORIENTATION_HORIZONTAL ) ;
} else {
} else {
gtk_icon_view_set_item_padding ( GTK_ICON_VIEW ( iv ) , 3 ) ;
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_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 ) ;
gtk_icon_view_set_row_spacing ( GTK_ICON_VIEW ( iv ) , 2 ) ;
}
}
GtkWidget * sep = gtk_separator_new ( GTK_ORIENTATION_HORIZONTAL ) ;
GtkWidget * sep = gtk_separator_new ( GTK_ORIENTATION_HORIZONTAL ) ;
@ -1122,21 +1166,18 @@ void yon_check_path(char *path){
}
}
dictionary * yon_section_new ( dictionary * section , char * section_name , char * categories ) {
dictionary * yon_section_new ( dictionary * section , char * section_name , char * categories ) {
section - > next = NULL ;
IconSection * sct = malloc ( sizeof ( IconSection ) ) ;
IconSection * sct = malloc ( sizeof ( IconSection ) ) ;
dictionary * dict = yon_dictionary_create_empty ( ) ; //malloc(sizeof(dictionary));
sct - > section = section_name ;
sct - > section = section_name ;
sct - > categories = categories ;
sct - > categories = categories ;
dict - > data = sct ;
if ( ! section - > data & & ! section - > prev ) {
if ( ! section - > data ) {
section - > data = sct ;
section - > data = dict - > data ;
section - > first = section ;
section - > first = section ;
section - > key = section_name ;
section - > key = section_name ;
} else {
} else {
dict- > first = section - > first ;
section= yon_dictionary_get_last ( section ) ;
section - > next = dict ;
section - > next = yon_dictionary_create_conneced ( section ) ;
dict- > prev = section ;
section- > next - > data = sct ;
dic t- > key = section_name ;
section- > nex t- > key = section_name ;
section = section - > next ;
section = section - > next ;
}
}
@ -1219,6 +1260,14 @@ dictionary *yon_dictionary_rip(dictionary *dict){
}
}
}
}
dictionary * yon_dictionary_connect ( dictionary * old , dictionary * toconnect ) {
dictionary * dict = yon_dictionary_get_last ( old ) ;
dict - > next = toconnect ;
toconnect - > prev = dict ;
toconnect - > first = dict - > first ;
return toconnect ;
}
void yon_switch_theme ( dictionary * * dict , dictionary * newone ) {
void yon_switch_theme ( dictionary * * dict , dictionary * newone ) {
dictionary * dct = * dict ;
dictionary * dct = * dict ;
actionWidgets * widgets = ( actionWidgets * ) dct - > data ;
actionWidgets * widgets = ( actionWidgets * ) dct - > data ;
@ -1247,14 +1296,6 @@ void yon_switch_theme(dictionary **dict, dictionary *newone){
main_config . curThemeName = " Main " ;
main_config . curThemeName = " Main " ;
gtk_combo_box_set_active ( GTK_COMBO_BOX ( widgets - > settingsThemeChooser ) , 0 ) ;
gtk_combo_box_set_active ( GTK_COMBO_BOX ( widgets - > settingsThemeChooser ) , 0 ) ;
gtk_window_present ( GTK_WINDOW ( widgets - > CautionWindow ) ) ;
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 {
} else {
main_config . WindowTheme = 1 ;
main_config . WindowTheme = 1 ;
main_config . curThemeName = " Gnome " ;
main_config . curThemeName = " Gnome " ;
@ -1553,15 +1594,23 @@ dictionary *yon_dictionary_switch_places(dictionary *dict,int aim){
}
}
dictionary * yon_dictionary_get_last ( dictionary * dict ) {
dictionary * yon_dictionary_get_last ( dictionary * dict ) {
for ( dictionary * dct = dict ; dct ! = NULL ; dct = dct - > next ) { }
dictionary * dct = NULL ;
return dict ;
for ( dct = dict - > first ; dct - > next ! = NULL ; dct = dct - > next ) { }
return dct ;
}
}
void yon_main_quit ( actionWidgets * widgets ) {
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 ) ;
save_config ( widgets ) ;
gtk_main_quit ( ) ;
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 * yon_theme_new ( dictionary * * widgetss , GtkBuilder * builder , char * theme_id , apps * applist , int appsize ) {
dictionary * widgets = * widgetss ;
dictionary * widgets = * widgetss ;
@ -1590,7 +1639,13 @@ 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 - > 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 - > 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 - > 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 ;
curWidgets - > SettingsSections = main_config . SettingsSections ;
if ( main_config . BannerHidden = = 0 ) {
gtk_revealer_set_reveal_child ( GTK_REVEALER ( curWidgets - > Revealer ) , 1 ) ;
gtk_menu_button_set_direction ( GTK_MENU_BUTTON ( curWidgets - > BannerRevealer ) , GTK_ARROW_LEFT ) ;
}
if ( main_config . lock_settings = = 1 ) {
if ( main_config . lock_settings = = 1 ) {
gtk_widget_set_sensitive ( curWidgets - > MenuItemSettings , 0 ) ;
gtk_widget_set_sensitive ( curWidgets - > MenuItemSettings , 0 ) ;
}
}
@ -1605,15 +1660,14 @@ dictionary *yon_theme_new(dictionary **widgetss, GtkBuilder *builder, char *them
}
}
g_signal_connect ( G_OBJECT ( curWidgets - > window ) , " configure-event " , G_CALLBACK ( on_resized ) , widgets ) ;
g_signal_connect ( G_OBJECT ( curWidgets - > window ) , " configure-event " , G_CALLBACK ( on_resized ) , widgets ) ;
if ( strcmp ( theme_id , " Gnome " ) = = 0 ) {
// if (strcmp(theme_id,"Gnome")==0){
g_signal_connect ( G_OBJECT ( curWidgets - > window ) , " event-after " , G_CALLBACK ( on_resized_done ) , widgets ) ;
// g_signal_connect(G_OBJECT(curWidgets->window), "event-after", G_CALLBACK(on_resized_done), widgets);
}
// }
if ( curWidgets - > ButtonBackToMain ! = NULL )
if ( curWidgets - > ButtonBackToMain ! = NULL )
g_signal_connect ( G_OBJECT ( curWidgets - > ButtonBackToMain ) , " clicked " , G_CALLBACK ( on_backToSettingsButton_clicked ) , curWidgets ) ;
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_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
// Standard for all themes
curWidgets - > settingsThemeChooser = GTK_WIDGET ( gtk_builder_get_object ( curWidgets - > builder , " settingsThemeChooser " ) ) ;
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 - > infoWarningWindow = GTK_WIDGET ( gtk_builder_get_object ( curWidgets - > builder , " windowSettings-infoWarning " ) ) ;
curWidgets - > infoWarningButton = GTK_WIDGET ( gtk_builder_get_object ( curWidgets - > builder , " buttonSettings-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 - > 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 - > applist = applist ;
curWidgets - > appssize = appsize ;
curWidgets - > appssize = appsize ;
GtkIconTheme * icthm = gtk_icon_theme_get_default ( ) ;
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 ) ) ;
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 - > 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 - > MenuItemSettings ) , " activate " , G_CALLBACK ( on_settingsOpen ) , curWidgets ) ;
g_signal_connect ( G_OBJECT ( curWidgets - > BannerRevealer ) , " clicked " , G_CALLBACK ( on_reveal_banner ) , curWidgets ) ;
if ( gnld = = 0 ) {
if ( gnld = = 0 ) {
gnld = 1 ;
gnld = 1 ;
@ -1669,9 +1726,17 @@ 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 - > 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 - > 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 - > 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 ) ;
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 ( gtk_builder_get_object ( builder , " MainHeaderNameLabel " ) ) , _ ( " UBLinux Settings Manager " ) ) ;
gtk_label_set_text ( GTK_LABEL ( gtk_builder_get_object ( builder , " sectionsHeaderNameLabel " ) ) , _ ( " UBLinux Settings Manager " ) ) ;
gtk_label_set_text ( GTK_LABEL ( gtk_builder_get_object ( builder , " GnomeHeaderNameLabel " ) ) , _ ( " UBLinux Settings Manager " ) ) ;
gtk_label_set_text ( GTK_LABEL ( gtk_builder_get_object ( builder , " UBLinux Settings " ) ) , _ ( " UBLinux Settings Manager " ) ) ;
gtk_label_set_text ( GTK_LABEL ( gtk_builder_get_object ( builder , " webHeaderNameLabel " ) ) , _ ( " UBLinux Settings Manager " ) ) ;
gtk_label_set_text ( GTK_LABEL ( gtk_builder_get_object ( builder , " warningHeaderNameLabel " ) ) , _ ( " UBLinux Settings Manager " ) ) ;
gtk_label_set_text ( GTK_LABEL ( gtk_builder_get_object ( builder , " LoaderHeaderNameLabel " ) ) , _ ( " UBLinux Settings Manager " ) ) ;
gtk_label_set_text ( GTK_LABEL ( curWidgets - > settingsSubmenuLabelSize ) , _ ( " Icon size " ) ) ;
gtk_label_set_text ( GTK_LABEL ( curWidgets - > settingsSubmenuLabelSize ) , _ ( " Icon size " ) ) ;
gtk_label_set_text ( GTK_LABEL ( curWidgets - > settingsSubmenuLabelTheme ) , _ ( " Window theme " ) ) ;
gtk_label_set_text ( GTK_LABEL ( curWidgets - > settingsSubmenuLabelTheme ) , _ ( " Window theme " ) ) ;
gtk_label_set_text ( GTK_LABEL ( curWidgets - > helpHeader ) , _ ( " Would you like to read documentation in the Web? " ) ) ;
gtk_label_set_text ( GTK_LABEL ( curWidgets - > helpHeader ) , _ ( " Would you like to read documentation in the Web? " ) ) ;
@ -1680,11 +1745,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 - > CancelHelpButton ) , _ ( " Cancel " ) ) ;
gtk_button_set_label ( GTK_BUTTON ( curWidgets - > settingsCancel ) , _ ( " Close " ) ) ;
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 - > settingsAccept ) , _ ( " Save and apply " ) ) ;
gtk_button_set_label ( GTK_BUTTON ( curWidgets - > SectionSettingsSaveButton ) , _ ( " Apply " ) ) ;
gtk_button_set_label ( GTK_BUTTON ( curWidgets - > AlwaysOpenDocumentation ) , _ ( " Always redirect " ) ) ;
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 - > MenuItemSettings ) , _ ( " Settings " ) ) ;
gtk_menu_item_set_label ( GTK_MENU_ITEM ( curWidgets - > MenuItemDocumentation ) , _ ( " About... " ) ) ;
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 - > CautionUnderstandButton ) , _ ( " Understood " ) ) ;
gtk_button_set_label ( GTK_BUTTON ( curWidgets - > settingsSectionsSettingsButton ) , _ ( " Sections management " ) ) ;
gtk_button_set_label ( GTK_BUTTON ( curWidgets - > settingsSectionsSettingsButton ) , _ ( " Sections management " ) ) ;
gtk_label_set_text ( GTK_LABEL ( curWidgets - > settingsDoubleClickLabel ) , _ ( " Double click selection " ) ) ;
return widgets ;
return widgets ;
}
}