WIP main theme; Fixes

pull/75/head
parent f91d15ede4
commit 775c5b2555
No known key found for this signature in database
GPG Key ID: FF1D842BF4DDE92B

@ -6,6 +6,7 @@
<file>ubl-settings-manager-theme-gnome.glade</file>
<file>ubl-settings-manager-theme-gnome-section.glade</file>
<file>ubl-settings-manager-theme-main.glade</file>
<file>ubl-settings-manager-theme-main-section.glade</file>
<file>ubl-settings-manager-settings-sections.glade</file>
<file>ubl-settings-manager-section-element.glade</file>
</gresource>

@ -35,6 +35,7 @@ set(DEPENDFILES
../ubl-settings-manager-theme-gnome-section.glade
../ubl-settings-manager-theme-main.glade
../ubl-settings-manager-settings-sections.glade
../ubl-settings-manager-theme-main-section.glade
../ubl-settings-manager-section-element.glade
../gresource.xml
../manager-banner.png
@ -74,6 +75,7 @@ set(SOURCE_FILES
ubl-settings-manager-settings.c
ubl-settings-manager-theme.c
ubl-settings-manager-theme-gnome.c
ubl-settings-manager-theme-main.c
ubl-settings-manager-app-sections.c
ubl-settings-manager-settings-sections.c
ubl-settings-manager.h

@ -3,6 +3,7 @@
typedef struct {
GtkWidget *Window;
GtkWidget *StatusBox;
GtkWidget *DefaultSwitch;
GtkWidget *SectionsBox;
GtkWidget *NameEntry;
GtkWidget *CategoriesEntry;
@ -50,7 +51,12 @@ section_struct *yon_section_new(){
void on_section_add(GtkWidget *,settings_section_window *window){
const char *cat_name = gtk_entry_get_text(GTK_ENTRY(window->NameEntry));
const char *cat_categories = gtk_entry_get_text(GTK_ENTRY(window->CategoriesEntry));
char *cat_categories = yon_char_new(gtk_entry_get_text(GTK_ENTRY(window->CategoriesEntry)));
if (cat_categories[strlen(cat_categories)-1]!=';') {
char *temp = yon_char_append_c(cat_categories,';');
free(cat_categories);
cat_categories = temp;
}
if (yon_char_is_empty(cat_name)){
yon_ubl_status_box_spawn(GTK_CONTAINER(window->StatusBox),_EMPTY_IMPORTANT_LABEL,5,BACKGROUND_IMAGE_FAIL_TYPE);
yon_ubl_status_highlight_incorrect(window->NameEntry);
@ -64,6 +70,7 @@ void on_section_add(GtkWidget *,settings_section_window *window){
gtk_entry_set_text(GTK_ENTRY(window->NameEntry),"");
gtk_entry_set_text(GTK_ENTRY(window->CategoriesEntry),"");
free(cat_categories);
}
void on_section_clear(GtkWidget *,settings_section_window *window){
@ -78,6 +85,7 @@ void on_sections_save(GtkWidget *,settings_section_window *window){
for (gsize i=0;i<size;i++){
yon_window_config_erase_instant_parameter(parameters[i],sections_section);
}
if (!gtk_switch_get_active(GTK_SWITCH(window->DefaultSwitch))){
GList *list = gtk_container_get_children(GTK_CONTAINER(window->SectionsBox));
GList *iter;
for (iter=list;iter;iter=iter->next){
@ -86,17 +94,42 @@ void on_sections_save(GtkWidget *,settings_section_window *window){
char *categories = (char*)gtk_entry_get_text(GTK_ENTRY(section->CategoriesEntry));
yon_window_config_add_instant_parameter(name,sections_section,categories,YON_TYPE_STRING);
}
}
on_subwindow_close(window->Window);
yon_interface_update(widgets);
}
void yon_section_window_add_default(settings_section_window *window){
section_struct *cur_section = yon_section_new();
gtk_box_pack_start(GTK_BOX(window->SectionsBox),cur_section->SectionBox,0,0,0);
gtk_entry_set_text(GTK_ENTRY(cur_section->NameEntry),"Personal");
gtk_entry_set_text(GTK_ENTRY(cur_section->CategoriesEntry),"X-UBL-SettingsManager;X-UBL-PersonalSettings;");
cur_section = yon_section_new();
gtk_box_pack_start(GTK_BOX(window->SectionsBox),cur_section->SectionBox,0,0,0);
gtk_entry_set_text(GTK_ENTRY(cur_section->NameEntry),"Hardware");
gtk_entry_set_text(GTK_ENTRY(cur_section->CategoriesEntry),"X-UBL-SettingsManager;X-UBL-HardwareSettings;");
cur_section = yon_section_new();
gtk_box_pack_start(GTK_BOX(window->SectionsBox),cur_section->SectionBox,0,0,0);
gtk_entry_set_text(GTK_ENTRY(cur_section->NameEntry),"System");
gtk_entry_set_text(GTK_ENTRY(cur_section->CategoriesEntry),"X-UBL-SettingsManager;X-UBL-SystemSettings;");
cur_section = yon_section_new();
gtk_box_pack_start(GTK_BOX(window->SectionsBox),cur_section->SectionBox,0,0,0);
gtk_entry_set_text(GTK_ENTRY(cur_section->NameEntry),"Misc");
gtk_entry_set_text(GTK_ENTRY(cur_section->CategoriesEntry),"");
}
settings_section_window *yon_section_window_new(){
settings_section_window *window = malloc(sizeof(settings_section_window));
GtkBuilder *builder = gtk_builder_new_from_resource(glade_path_settings_section);
window->Window = yon_gtk_builder_get_widget(builder,"Window");
window->StatusBox = yon_gtk_builder_get_widget(builder,"StatusBox");
window->DefaultSwitch = yon_gtk_builder_get_widget(builder,"DefaultSwitch");
window->SectionsBox = yon_gtk_builder_get_widget(builder,"SectionsBox");
window->NameEntry = yon_gtk_builder_get_widget(builder,"NameEntry");
window->CategoriesEntry = yon_gtk_builder_get_widget(builder,"CategoriesEntry");
@ -109,6 +142,29 @@ settings_section_window *yon_section_window_new(){
g_signal_connect(G_OBJECT(window->SaveButton),"clicked",G_CALLBACK(on_sections_save),window);
g_signal_connect(G_OBJECT(window->AddButton),"clicked",G_CALLBACK(on_section_add),window);
g_signal_connect(G_OBJECT(window->ClearButton),"clicked",G_CALLBACK(on_section_clear),window);
g_signal_connect(G_OBJECT(window->DefaultSwitch),"state-set",G_CALLBACK(yon_gtk_widget_set_sensitive_from_switch_inversed),window->SectionsBox);
g_signal_connect(G_OBJECT(window->DefaultSwitch),"state-set",G_CALLBACK(yon_gtk_widget_set_sensitive_from_switch_inversed),window->NameEntry);
g_signal_connect(G_OBJECT(window->DefaultSwitch),"state-set",G_CALLBACK(yon_gtk_widget_set_sensitive_from_switch_inversed),window->CategoriesEntry);
g_signal_connect(G_OBJECT(window->DefaultSwitch),"state-set",G_CALLBACK(yon_gtk_widget_set_sensitive_from_switch_inversed),window->AddButton);
g_signal_connect(G_OBJECT(window->DefaultSwitch),"state-set",G_CALLBACK(yon_gtk_widget_set_sensitive_from_switch_inversed),window->ClearButton);
gsize parameters_size;
config_str parameters = NULL;
parameters = yon_window_config_get_section(sections_section,&parameters_size);
if (parameters_size){
for (gsize i=0;i<parameters_size;i++){
char *param;
yon_window_config_get_parameter(sections_section,parameters[i],&param,YON_TYPE_STRING);
section_struct *cur_section = yon_section_new();
gtk_box_pack_start(GTK_BOX(window->SectionsBox),cur_section->SectionBox,0,0,0);
gtk_entry_set_text(GTK_ENTRY(cur_section->NameEntry),parameters[i]);
gtk_entry_set_text(GTK_ENTRY(cur_section->CategoriesEntry),param);
}
} else {
gtk_switch_set_active(GTK_SWITCH(window->DefaultSwitch),1);
yon_section_window_add_default(window);
}
return window;
}

@ -63,6 +63,9 @@ gnome_section *yon_gnome_section_new(){
GtkBuilder *builder = gtk_builder_new_from_resource(glade_path_gnome_section);
cur_section->expander = yon_gtk_builder_get_widget(builder,"MainExpander");
cur_section->AppsList = yon_gtk_builder_get_widget(builder,"AppsList");
int doubleclick=0;
yon_window_config_get_parameter(settings_section,double_click_parameter,&doubleclick,YON_TYPE_BOOLEAN);
gtk_list_box_set_activate_on_single_click(GTK_LIST_BOX(cur_section->AppsList),!doubleclick);
return cur_section;
}
@ -85,6 +88,8 @@ void yon_gnome_section_setup_apps(gnome_section *cur_section, const char *target
gtk_box_pack_start(GTK_BOX(Box),Image,0,0,0);
gtk_box_pack_start(GTK_BOX(Box),Label,0,0,0);
gtk_label_set_xalign(GTK_LABEL(Label),0);
gtk_label_set_line_wrap(GTK_LABEL(Label),1);
gtk_label_set_line_wrap_mode(GTK_LABEL(Label),PANGO_WRAP_WORD);
gtk_list_box_insert(GTK_LIST_BOX(cur_section->AppsList),Row,-1);
g_object_set_data(G_OBJECT(Row),"gnome_section",cur_section);
@ -118,7 +123,6 @@ int yon_gnome_update(gnome_theme_struct *theme){
free(cur_section);
}
int size;
dictionary *cur;
for_dictionaries(cur,main_config.sections){
app_section *section_data = yon_dictionary_get_data(cur,app_section*);

@ -0,0 +1,200 @@
#include "ubl-settings-manager.h"
typedef struct {
GtkWidget *expander;
GtkWidget *MainLabel;
GtkWidget *AppsList;
app_section *section;
} main_section;
void on_main_plug_connected(GtkWidget *,main_theme_struct *theme){
gtk_widget_show(theme->SocketBox);
gtk_widget_hide(theme->HideBox);
}
void on_main_plug_disconnected(GtkWidget *,main_theme_struct *theme){
gtk_widget_show(theme->HideBox);
gtk_widget_hide(theme->SocketBox);
on_plug_disconnected(GTK_SOCKET(theme->Socket),main_config.widgets);
}
void on_main_selected(GtkWidget* self, main_theme_struct *theme);
void on_main_selected(GtkWidget* self, main_theme_struct *theme){
GList *list = gtk_container_get_children(GTK_CONTAINER(theme->AppsTree));
GList *iter;
for (iter=list;iter;iter=iter->next){
main_section *cur_section = g_object_get_data(G_OBJECT(iter->data),"main_section");
if (cur_section->AppsList != self){
g_signal_handlers_block_by_func(G_OBJECT(cur_section->AppsList),G_CALLBACK(on_main_selected),theme);
GList *flowlist = gtk_flow_box_get_selected_children(GTK_FLOW_BOX(cur_section->AppsList));
if (flowlist){
gtk_flow_box_unselect_child(GTK_FLOW_BOX(cur_section->AppsList),GTK_FLOW_BOX_CHILD(flowlist->data));
g_list_free(flowlist);
}
g_signal_handlers_unblock_by_func(G_OBJECT(cur_section->AppsList),G_CALLBACK(on_main_selected),theme);
}
}
}
void on_main_activate(GtkFlowBox* self, GtkFlowBoxChild* child, main_theme_struct *theme){
theme->Socket = GTK_WIDGET(yon_sockets_init(GTK_BOX(theme->SocketBox)));
g_signal_connect(G_OBJECT(theme->Socket),"plug_added",G_CALLBACK(on_main_plug_connected),theme);
g_signal_connect(G_OBJECT(theme->Socket),"destroy",G_CALLBACK(on_main_plug_disconnected),theme);
apps *cur_app = g_object_get_data(G_OBJECT(child),"apps");
char *command = cur_app->Exec;//launch_command(cur_app->Desktop_path);
char *command_args = NULL;
if (cur_app->DualPluggable==1){
char *save_socket = yon_get_save_socket();
char *load_socket = yon_get_load_socket();
char *main_socket_id = yon_char_from_long((long)gtk_socket_get_id(GTK_SOCKET(theme->Socket)));
command_args = launch_args_command(main_socket_id,load_socket,save_socket);
} else if (cur_app->Pluggable){
char *main_socket_id = yon_char_from_long((long)gtk_socket_get_id(GTK_SOCKET(theme->Socket)));
command_args = yon_char_unite("--socket-id=",main_socket_id,NULL);
}
yon_launch_app_with_arguments(command,command_args);
}
void on_main_socket_add(){
}
void yon_main_section_setup_apps(main_section *cur_section, const char *target){
if (yon_char_is_empty(target)) return;
apps *cur_app = yon_apps_get((char*)target);
GtkIconInfo *info = gtk_icon_theme_lookup_icon_for_scale(gtk_icon_theme_get_default(), !yon_char_is_empty(cur_app->Icon)?cur_app->Icon:icon_path, main_config.apps_icon_size,1,GTK_ICON_LOOKUP_FORCE_SIZE);
GtkWidget *Image = NULL;
if (info){
Image = gtk_image_new_from_pixbuf(gtk_icon_info_load_icon(info,NULL));
} else {
info = gtk_icon_theme_lookup_icon_for_scale(gtk_icon_theme_get_default(), icon_path, main_config.apps_icon_size,1,GTK_ICON_LOOKUP_FORCE_SIZE);
Image = gtk_image_new_from_pixbuf(gtk_icon_info_load_icon(info,NULL));
}
char *name = yon_char_wrap_to_length_str(cur_app->Name,20);
GtkWidget *Row = gtk_flow_box_child_new();
GtkWidget *Box = gtk_box_new(GTK_ORIENTATION_HORIZONTAL,5);
GtkWidget *Label = gtk_label_new(name);
GtkWidget *Icon = Image;
gtk_box_pack_start(GTK_BOX(Box),Icon,0,0,0);
gtk_box_pack_start(GTK_BOX(Box),Label,0,0,0);
gtk_container_add(GTK_CONTAINER(Row),Box);
gtk_flow_box_insert(GTK_FLOW_BOX(cur_section->AppsList),Row,-1);
gtk_widget_set_size_request(Row,50,50);
gtk_widget_set_halign(Box,GTK_ALIGN_START);
gtk_widget_set_valign(Box,GTK_ALIGN_CENTER);
gtk_label_set_line_wrap_mode(GTK_LABEL(Label),PANGO_WRAP_WORD);
gtk_label_set_line_wrap(GTK_LABEL(Label),1);
gtk_label_set_xalign(GTK_LABEL(Label),0);
g_object_set_data(G_OBJECT(Row),"main_section",cur_section);
g_object_set_data(G_OBJECT(Row),"apps",cur_app);
g_object_set_data(G_OBJECT(Row),"Label",Label);
gtk_widget_show_all(Row);
}
main_section *yon_main_section_new(){
main_section *cur_section = malloc(sizeof(main_section));
memset(cur_section,0,sizeof(cur_section));
GtkBuilder *builder = gtk_builder_new_from_resource(glade_path_main_section);
cur_section->expander = yon_gtk_builder_get_widget(builder,"MainExpander");
cur_section->MainLabel = yon_gtk_builder_get_widget(builder,"MainLabel");
cur_section->AppsList = yon_gtk_builder_get_widget(builder,"AppsFlow");
g_object_set_data(G_OBJECT(cur_section->expander),"main_section",cur_section);
int doubleclick=0;
yon_window_config_get_parameter(settings_section,double_click_parameter,&doubleclick,YON_TYPE_BOOLEAN);
gtk_flow_box_set_activate_on_single_click(GTK_FLOW_BOX(cur_section->AppsList),!doubleclick);
return cur_section;
}
void yon_main_section_setup(main_theme_struct *theme, app_section *section){
main_section *cur_section = yon_main_section_new();
cur_section->section = section;
gtk_label_set_text(GTK_LABEL(cur_section->MainLabel),section->name);
int app_size;
config_str app_list = yon_apps_get_by_categories(section->categories,section->categories_size,&app_size);
for(int i=0;i<app_size;i++){
yon_main_section_setup_apps(cur_section,app_list[i]);
}
gtk_box_pack_start(GTK_BOX(theme->AppsTree),cur_section->expander,0,0,0);
g_object_set_data(G_OBJECT(cur_section->expander),"main_section",cur_section);
g_signal_connect(G_OBJECT(cur_section->AppsList),"child-activated",G_CALLBACK(on_main_activate),theme);
g_signal_connect(G_OBJECT(cur_section->AppsList),"selected-children-changed",G_CALLBACK(on_main_selected),theme);
}
void yon_main_section_get_max_size(main_section *section, int *ret_width, int *ret_height){
GList *list = gtk_container_get_children(GTK_CONTAINER(section->AppsList));
GList *iter;
for (iter = list; iter;iter=iter->next){
gtk_widget_realize(GTK_WIDGET(iter->data));
int width;
int height;
GtkWidget *Label = g_object_get_data(G_OBJECT(iter->data),"Label");
gtk_widget_get_preferred_width(Label,NULL,&width);
gtk_widget_get_preferred_height(Label,NULL,&height);
if ((*ret_width)<width) (*ret_width) = width;
if ((*ret_height)<height) (*ret_height) = height;
}
}
void yon_main_theme_resize(main_theme_struct *theme){
GList *list = gtk_container_get_children(GTK_CONTAINER(theme->AppsTree));
GList *iter;
int max_width=0;
int max_height=0;
for (iter=list;iter;iter=iter->next){
main_section *section = g_object_get_data(G_OBJECT(iter->data),"main_section");
yon_main_section_get_max_size(section,&max_width,&max_height);
}
for (iter=list;iter;iter=iter->next){
main_section *section = g_object_get_data(G_OBJECT(iter->data),"main_section");
GList *child_list = gtk_container_get_children(GTK_CONTAINER(section->AppsList));
if (child_list){
GtkWidget *Label = g_object_get_data(G_OBJECT(child_list->data),"Label");
gtk_widget_set_size_request(Label,max_width,max_height);
}
}
}
void yon_main_update(main_theme_struct *theme){
GList *list = gtk_container_get_children(GTK_CONTAINER(theme->AppsTree));
GList *iter;
for (iter=list;iter;iter->next){
gtk_widget_destroy(GTK_WIDGET(iter->data));
}
dictionary *cur;
for_dictionaries(cur,main_config.sections){
app_section *section_data = yon_dictionary_get_data(cur,app_section*);
yon_main_section_setup(theme,section_data);
}
yon_main_theme_resize(theme);
}
main_theme_struct *yon_main_theme_new(){
main_theme_struct *theme = malloc(sizeof(main_theme_struct));
GtkBuilder *builder = gtk_builder_new_from_resource(glade_path_main_theme);
theme->MainBox = yon_gtk_builder_get_widget(builder,"MainBox");
theme->AppsTree = yon_gtk_builder_get_widget(builder,"AppsTree");
theme->SocketBox = yon_gtk_builder_get_widget(builder,"SocketBox");
theme->HideBox = yon_gtk_builder_get_widget(builder,"HideBox");
theme->theme_name = yon_char_new(MAIN_THEME_LABEL);
theme->Socket = NULL;
theme->list_update_func = (int(*)(struct main_theme_struct*))yon_main_update;
g_signal_connect(G_OBJECT(theme->SocketBox),"add",G_CALLBACK(on_main_socket_add),theme);
return theme;
}

@ -30,32 +30,3 @@ void yon_theme_init(){
g_hash_table_insert(main_config.themes,yon_char_new(GNOME_THEME_LABEL),yon_gnome_theme_new);
g_hash_table_insert(main_config.themes,yon_char_new(MAIN_THEME_LABEL),yon_main_theme_new);
}
void yon_main_update(main_theme_struct *theme){
}
void on_main_activate(){
}
void on_main_socket_add(){
}
main_theme_struct *yon_main_theme_new(){
main_theme_struct *theme = malloc(sizeof(main_theme_struct));
GtkBuilder *builder = gtk_builder_new_from_resource(glade_path_main_theme);
theme->MainBox = yon_gtk_builder_get_widget(builder,"MainBox");
theme->AppsIconView = yon_gtk_builder_get_widget(builder,"AppsIconView");
theme->SocketBox = yon_gtk_builder_get_widget(builder,"SocketBox");
theme->AppsList = GTK_LIST_STORE(gtk_builder_get_object(builder,"AppsList"));
theme->theme_name = yon_char_new(MAIN_THEME_LABEL);
theme->Socket = NULL;
theme->list_update_func = (int(*)(struct main_theme_struct*))yon_main_update;
g_signal_connect(G_OBJECT(theme->AppsIconView),"item-activated",G_CALLBACK(on_main_activate),theme);
g_signal_connect(G_OBJECT(theme->SocketBox),"add",G_CALLBACK(on_main_socket_add),theme);
return theme;
}

@ -36,6 +36,7 @@
#define glade_path "/com/ublinux/ui/ubl-settings-manager.glade"
#define glade_path_gnome_theme "/com/ublinux/ui/ubl-settings-manager-theme-gnome.glade"
#define glade_path_gnome_section "/com/ublinux/ui/ubl-settings-manager-theme-gnome-section.glade"
#define glade_path_main_section "/com/ublinux/ui/ubl-settings-manager-theme-main-section.glade"
#define glade_path_main_theme "/com/ublinux/ui/ubl-settings-manager-theme-main.glade"
#define glade_path_settings "/com/ublinux/ui/ubl-settings-manager-settings.glade"
#define glade_path_settings_section "/com/ublinux/ui/ubl-settings-manager-settings-sections.glade"
@ -141,7 +142,7 @@ typedef struct main_theme_struct {
GtkWidget *SocketBox;
GtkWidget *HideBox;
int (*list_update_func)(struct main_theme_struct*);
GtkWidget *AppsIconView;
GtkWidget *AppsTree;
GtkWidget *Socket;
GtkListStore *AppsList;
} main_theme_struct;

@ -2,6 +2,12 @@
<!-- Generated with glade 3.38.2 -->
<interface>
<requires lib="gtk+" version="3.24"/>
<object class="GtkImage" id="image2">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="pixel-size">16</property>
<property name="icon-name">com.ublinux.libublsettingsui-gtk3.trash-symbolic</property>
</object>
<object class="GtkBox" id="SectionBox">
<property name="visible">True</property>
<property name="can-focus">False</property>
@ -16,7 +22,7 @@
<property name="input-purpose">name</property>
</object>
<packing>
<property name="expand">True</property>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">0</property>
</packing>
@ -25,7 +31,7 @@
<object class="GtkEntry" id="CategoriesEntry">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="width-chars">25</property>
<property name="width-chars">0</property>
<property name="caps-lock-warning">False</property>
</object>
<packing>
@ -52,10 +58,4 @@
</packing>
</child>
</object>
<object class="GtkImage" id="image2">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="pixel-size">16</property>
<property name="icon-name">com.ublinux.libublsettingsui-gtk3.trash-symbolic</property>
</object>
</interface>

@ -63,22 +63,59 @@
<property name="orientation">vertical</property>
<property name="spacing">5</property>
<child>
<object class="GtkScrolledWindow">
<object class="GtkBox">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="margin-start">5</property>
<property name="margin-end">5</property>
<property name="spacing">5</property>
<child>
<object class="GtkSwitch" id="DefaultSwitch">
<property name="visible">True</property>
<property name="can-focus">True</property>
<property name="shadow-type">in</property>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">0</property>
</packing>
</child>
<child>
<object class="GtkViewport">
<object class="GtkLabel">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="label" translatable="yes">Default</property>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">1</property>
</packing>
</child>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">0</property>
</packing>
</child>
<child>
<object class="GtkBox" id="SectionsBox">
<object class="GtkScrolledWindow">
<property name="visible">True</property>
<property name="can-focus">True</property>
<property name="shadow-type">in</property>
<child>
<object class="GtkViewport">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="margin-start">5</property>
<property name="margin-end">5</property>
<property name="margin-top">5</property>
<property name="margin-bottom">5</property>
<child>
<object class="GtkBox" id="SectionsBox">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="orientation">vertical</property>
<property name="spacing">5</property>
<child>
@ -92,7 +129,7 @@
<packing>
<property name="expand">True</property>
<property name="fill">True</property>
<property name="position">0</property>
<property name="position">1</property>
</packing>
</child>
<child>
@ -125,7 +162,7 @@
<property name="input-purpose">name</property>
</object>
<packing>
<property name="expand">True</property>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">0</property>
</packing>
@ -134,7 +171,7 @@
<object class="GtkEntry" id="CategoriesEntry">
<property name="visible">True</property>
<property name="can-focus">True</property>
<property name="width-chars">25</property>
<property name="width-chars">0</property>
<property name="caps-lock-warning">False</property>
<property name="placeholder-text" translatable="yes">Identifier</property>
</object>
@ -189,7 +226,7 @@
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">1</property>
<property name="position">2</property>
</packing>
</child>
</object>

@ -25,28 +25,20 @@
<property name="position-set">True</property>
<property name="wide-handle">True</property>
<child>
<object class="GtkScrolledWindow">
<property name="visible">True</property>
<property name="can-focus">True</property>
<child>
<object class="GtkViewport">
<object class="GtkBox">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="margin-start">5</property>
<property name="margin-end">5</property>
<property name="margin-top">5</property>
<property name="margin-bottom">5</property>
<property name="shadow-type">none</property>
<child>
<object class="GtkBox">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="orientation">vertical</property>
<property name="spacing">5</property>
<child>
<object class="GtkSearchEntry" id="SearchEntry">
<property name="visible">True</property>
<property name="can-focus">True</property>
<property name="width-chars">0</property>
<property name="primary-icon-name">edit-find-symbolic</property>
<property name="primary-icon-activatable">False</property>
<property name="primary-icon-sensitive">False</property>
@ -57,6 +49,21 @@
<property name="position">0</property>
</packing>
</child>
<child>
<object class="GtkScrolledWindow">
<property name="visible">True</property>
<property name="can-focus">True</property>
<child>
<object class="GtkViewport">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="shadow-type">none</property>
<child>
<object class="GtkBox">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="orientation">vertical</property>
<property name="spacing">5</property>
<child>
<object class="GtkBox" id="AppsTree">
<property name="visible">True</property>
@ -78,6 +85,13 @@
</object>
</child>
</object>
<packing>
<property name="expand">True</property>
<property name="fill">True</property>
<property name="position">1</property>
</packing>
</child>
</object>
<packing>
<property name="resize">False</property>
<property name="shrink">True</property>
@ -168,6 +182,9 @@
<property name="shrink">True</property>
</packing>
</child>
<style>
<class name="workingbg"/>
</style>
</object>
<packing>
<property name="expand">True</property>

@ -0,0 +1,56 @@
<?xml version="1.0" encoding="UTF-8"?>
<!-- Generated with glade 3.38.2 -->
<interface domain="ubl-settings-manager">
<requires lib="gtk+" version="3.24"/>
<!-- interface-css-provider-path ubl-settings-manager.css -->
<object class="GtkListStore" id="List">
<columns>
<!-- column-name Name -->
<column type="gchararray"/>
<!-- column-name Icon -->
<column type="GdkPixbuf"/>
</columns>
</object>
<object class="GtkBox" id="MainExpander">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="orientation">vertical</property>
<child>
<object class="GtkLabel" id="MainLabel">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="label" translatable="yes">label</property>
<property name="xalign">0</property>
<attributes>
<attribute name="size" value="13312"/>
</attributes>
<style>
<class name="separatorBottom"/>
</style>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">0</property>
</packing>
</child>
<child>
<object class="GtkFlowBox" id="AppsFlow">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="valign">start</property>
<property name="homogeneous">True</property>
<property name="column-spacing">5</property>
<property name="row-spacing">5</property>
<property name="max-children-per-line">15</property>
<property name="selection-mode">browse</property>
<property name="activate-on-single-click">False</property>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">1</property>
</packing>
</child>
</object>
</interface>

@ -3,7 +3,6 @@
<interface domain="ubl-settings-manager">
<requires lib="gtk+" version="3.24"/>
<!-- interface-css-provider-path ubl-settings-manager.css -->
<object class="GtkListStore" id="AppsList"/>
<object class="GtkBox" id="MainBox">
<property name="visible">True</property>
<property name="can-focus">False</property>
@ -15,20 +14,27 @@
<property name="orientation">vertical</property>
<child>
<object class="GtkScrolledWindow">
<property name="width-request">5</property>
<property name="height-request">5</property>
<property name="visible">True</property>
<property name="can-focus">True</property>
<property name="resize-mode">immediate</property>
<property name="hscrollbar-policy">never</property>
<property name="vscrollbar-policy">always</property>
<property name="shadow-type">in</property>
<child>
<object class="GtkIconView" id="AppsIconView">
<object class="GtkViewport">
<property name="visible">True</property>
<property name="can-focus">True</property>
<property name="margin">6</property>
<property name="model">AppsList</property>
<property name="can-focus">False</property>
<property name="margin-start">5</property>
<property name="margin-end">5</property>
<property name="margin-top">5</property>
<property name="margin-bottom">5</property>
<child>
<object class="GtkBox" id="AppsTree">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="orientation">vertical</property>
<child>
<placeholder/>
</child>
</object>
</child>
</object>
</child>
</object>
@ -57,7 +63,7 @@
</style>
</object>
<packing>
<property name="expand">False</property>
<property name="expand">True</property>
<property name="fill">True</property>
<property name="position">1</property>
</packing>

@ -10,6 +10,11 @@
border-style: solid;
}
.titlelabel {
color: @theme_bg_color;
}
.nobackground {
background:transparent;
}

@ -3,111 +3,6 @@
<interface domain="ubl-settings-manager">
<requires lib="gtk+" version="3.24"/>
<!-- interface-css-provider-path ubl-settings-manager.css -->
<object class="GtkWindow" id="CautionWindow">
<property name="can-focus">False</property>
<property name="resizable">False</property>
<property name="icon-name">dialog-information-symbolic</property>
<property name="deletable">False</property>
<child>
<object class="GtkBox">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="orientation">vertical</property>
<child>
<object class="GtkBox">
<property name="visible">True</property>
<property name="can-focus">False</property>
<child>
<object class="GtkImage">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="halign">center</property>
<property name="valign">start</property>
<property name="margin-start">20</property>
<property name="margin-end">20</property>
<property name="margin-top">20</property>
<property name="margin-bottom">20</property>
<property name="icon-name">dialog-information-symbolic</property>
<property name="icon_size">6</property>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">0</property>
</packing>
</child>
<child>
<object class="GtkLabel" id="CautionLabel">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="halign">center</property>
<property name="valign">start</property>
<property name="margin-start">10</property>
<property name="margin-end">25</property>
<property name="margin-top">20</property>
<property name="margin-bottom">20</property>
<property name="label" translatable="yes">Changing the theme is not available due to the small screen resolution!</property>
<property name="wrap">True</property>
<property name="xalign">0</property>
</object>
<packing>
<property name="expand">True</property>
<property name="fill">True</property>
<property name="position">1</property>
</packing>
</child>
</object>
<packing>
<property name="expand">True</property>
<property name="fill">True</property>
<property name="position">0</property>
</packing>
</child>
<child>
<object class="GtkButton" id="CautionUnderstandButton">
<property name="label" translatable="yes">Understood</property>
<property name="visible">True</property>
<property name="can-focus">True</property>
<property name="receives-default">True</property>
<property name="margin-start">5</property>
<property name="margin-end">5</property>
<property name="margin-top">5</property>
<property name="margin-bottom">5</property>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">2</property>
</packing>
</child>
</object>
</child>
<child type="titlebar">
<object class="GtkHeaderBar">
<property name="visible">True</property>
<property name="can-focus">False</property>
<child type="title">
<object class="GtkLabel" id="warningHeaderNameLabel">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="label" translatable="yes">UBLinux Settings Manager</property>
<attributes>
<attribute name="weight" value="bold"/>
</attributes>
</object>
</child>
<child>
<object class="GtkImage">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="pixel-size">32</property>
<property name="icon-name">dialog-information-symbolic</property>
<property name="icon_size">5</property>
</object>
</child>
</object>
</child>
</object>
<object class="GtkMenu" id="MainMenu">
<property name="visible">True</property>
<property name="can-focus">False</property>
@ -164,7 +59,6 @@
<object class="GtkBox">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="spacing">5</property>
<child>
<object class="GtkBox">
<property name="visible">True</property>
@ -249,9 +143,7 @@
<object class="GtkBox" id="MainBox">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="margin-bottom">5</property>
<property name="orientation">vertical</property>
<property name="spacing">5</property>
<child>
<object class="GtkBox" id="StatusBox">
<property name="visible">True</property>
@ -269,17 +161,11 @@
</child>
<child>
<object class="GtkBox" id="ThemeBox">
<property name="name">Icon</property>
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="margin-end">5</property>
<child>
<placeholder/>
</child>
<style>
<class name="darkborder"/>
<class name="Icon"/>
</style>
</object>
<packing>
<property name="expand">True</property>
@ -346,7 +232,10 @@
<object class="GtkImage">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="icon-name">com.ublinux.libublsettingsui-gtk3.pan-left</property>
<property name="icon-name">com.ublinux.libublsettingsui-gtk3.pan-left-symbolic</property>
<style>
<class name="titlelabel"/>
</style>
</object>
<packing>
<property name="expand">False</property>

Loading…
Cancel
Save