[gnome-control-center] info: Split default-apps into its own panel



commit e743b8efd701e5c50f44999176c06faaa355ed4d
Author: Robert Ancell <robert ancell canonical com>
Date:   Mon Aug 12 16:01:09 2019 +1200

    info: Split default-apps into its own panel

 .../cc-default-apps-panel.c}                       | 50 +++++++++++-----------
 .../cc-default-apps-panel.h}                       |  6 +--
 .../cc-default-apps-panel.ui}                      |  2 +-
 panels/default-apps/default-apps.gresource.xml     |  6 +++
 .../gnome-default-apps-panel.desktop.in.in         |  0
 panels/default-apps/meson.build                    | 42 ++++++++++++++++++
 panels/info/info.gresource.xml                     |  1 -
 panels/info/meson.build                            |  3 --
 panels/meson.build                                 |  1 +
 po/POTFILES.in                                     |  4 +-
 shell/cc-panel-loader.c                            |  4 +-
 11 files changed, 82 insertions(+), 37 deletions(-)
---
diff --git a/panels/info/cc-info-default-apps-panel.c b/panels/default-apps/cc-default-apps-panel.c
similarity index 76%
rename from panels/info/cc-info-default-apps-panel.c
rename to panels/default-apps/cc-default-apps-panel.c
index e05f05512..77568e167 100644
--- a/panels/info/cc-info-default-apps-panel.c
+++ b/panels/default-apps/cc-default-apps-panel.c
@@ -21,8 +21,8 @@
 
 #include <config.h>
 
-#include "cc-info-default-apps-panel.h"
-#include "cc-info-resources.h"
+#include "cc-default-apps-panel.h"
+#include "cc-default-apps-resources.h"
 
 typedef struct
 {
@@ -34,7 +34,7 @@ typedef struct
   const char *extra_type_filter;
 } DefaultAppData;
 
-struct _CcInfoDefaultAppsPanel
+struct _CcDefaultAppsPanel
 {
   CcPanel    parent_instance;
 
@@ -49,11 +49,11 @@ struct _CcInfoDefaultAppsPanel
 };
 
 
-G_DEFINE_TYPE (CcInfoDefaultAppsPanel, cc_info_default_apps_panel, CC_TYPE_PANEL)
+G_DEFINE_TYPE (CcDefaultAppsPanel, cc_default_apps_panel, CC_TYPE_PANEL)
 
 static void
-default_app_changed (GtkAppChooserButton    *button,
-                     CcInfoDefaultAppsPanel *self)
+default_app_changed (GtkAppChooserButton *button,
+                     CcDefaultAppsPanel  *self)
 {
   g_autoptr(GAppInfo) info = NULL;
   g_autoptr(GError) error = NULL;
@@ -119,14 +119,14 @@ default_app_changed (GtkAppChooserButton    *button,
     }
 }
 
-#define OFFSET(x)             (G_STRUCT_OFFSET (CcInfoDefaultAppsPanel, x))
+#define OFFSET(x)             (G_STRUCT_OFFSET (CcDefaultAppsPanel, x))
 #define WIDGET_FROM_OFFSET(x) (G_STRUCT_MEMBER (GtkWidget*, self, x))
 
 static void
-info_panel_setup_default_app (CcInfoDefaultAppsPanel *self,
-                              DefaultAppData         *data,
-                              guint                   left_attach,
-                              guint                   top_attach)
+info_panel_setup_default_app (CcDefaultAppsPanel *self,
+                              DefaultAppData     *data,
+                              guint               left_attach,
+                              guint               top_attach)
 {
   GtkWidget *button;
   GtkWidget *label;
@@ -162,7 +162,7 @@ static DefaultAppData preferred_app_infos[] = {
 };
 
 static void
-info_panel_setup_default_apps (CcInfoDefaultAppsPanel *self)
+info_panel_setup_default_apps (CcDefaultAppsPanel *self)
 {
   int i;
 
@@ -174,24 +174,24 @@ info_panel_setup_default_apps (CcInfoDefaultAppsPanel *self)
 }
 
 static void
-cc_info_default_apps_panel_class_init (CcInfoDefaultAppsPanelClass *klass)
+cc_default_apps_panel_class_init (CcDefaultAppsPanelClass *klass)
 {
   GtkWidgetClass *widget_class = GTK_WIDGET_CLASS (klass);
 
-  gtk_widget_class_set_template_from_resource (widget_class, 
"/org/gnome/control-center/info/cc-info-default-apps-panel.ui");
-  gtk_widget_class_bind_template_child (widget_class, CcInfoDefaultAppsPanel, default_apps_grid);
-  gtk_widget_class_bind_template_child (widget_class, CcInfoDefaultAppsPanel, web_label);
-  gtk_widget_class_bind_template_child (widget_class, CcInfoDefaultAppsPanel, mail_label);
-  gtk_widget_class_bind_template_child (widget_class, CcInfoDefaultAppsPanel, calendar_label);
-  gtk_widget_class_bind_template_child (widget_class, CcInfoDefaultAppsPanel, music_label);
-  gtk_widget_class_bind_template_child (widget_class, CcInfoDefaultAppsPanel, video_label);
-  gtk_widget_class_bind_template_child (widget_class, CcInfoDefaultAppsPanel, photos_label);
+  gtk_widget_class_set_template_from_resource (widget_class, 
"/org/gnome/control-center/default-apps/cc-default-apps-panel.ui");
+  gtk_widget_class_bind_template_child (widget_class, CcDefaultAppsPanel, default_apps_grid);
+  gtk_widget_class_bind_template_child (widget_class, CcDefaultAppsPanel, web_label);
+  gtk_widget_class_bind_template_child (widget_class, CcDefaultAppsPanel, mail_label);
+  gtk_widget_class_bind_template_child (widget_class, CcDefaultAppsPanel, calendar_label);
+  gtk_widget_class_bind_template_child (widget_class, CcDefaultAppsPanel, music_label);
+  gtk_widget_class_bind_template_child (widget_class, CcDefaultAppsPanel, video_label);
+  gtk_widget_class_bind_template_child (widget_class, CcDefaultAppsPanel, photos_label);
 }
 
 static void
-cc_info_default_apps_panel_init (CcInfoDefaultAppsPanel *self)
+cc_default_apps_panel_init (CcDefaultAppsPanel *self)
 {
-  g_resources_register (cc_info_get_resource ());
+  g_resources_register (cc_default_apps_get_resource ());
 
   gtk_widget_init_template (GTK_WIDGET (self));
 
@@ -199,8 +199,8 @@ cc_info_default_apps_panel_init (CcInfoDefaultAppsPanel *self)
 }
 
 GtkWidget *
-cc_info_default_apps_panel_new (void)
+cc_default_apps_panel_new (void)
 {
-  return g_object_new (CC_TYPE_INFO_DEFAULT_APPS_PANEL,
+  return g_object_new (CC_TYPE_DEFAULT_APPS_PANEL,
                        NULL);
 }
diff --git a/panels/info/cc-info-default-apps-panel.h b/panels/default-apps/cc-default-apps-panel.h
similarity index 77%
rename from panels/info/cc-info-default-apps-panel.h
rename to panels/default-apps/cc-default-apps-panel.h
index d98368c7b..4aca17bfd 100644
--- a/panels/info/cc-info-default-apps-panel.h
+++ b/panels/default-apps/cc-default-apps-panel.h
@@ -23,9 +23,9 @@
 
 G_BEGIN_DECLS
 
-#define CC_TYPE_INFO_DEFAULT_APPS_PANEL (cc_info_default_apps_panel_get_type ())
-G_DECLARE_FINAL_TYPE (CcInfoDefaultAppsPanel, cc_info_default_apps_panel, CC, INFO_DEFAULT_APPS_PANEL, 
CcPanel)
+#define CC_TYPE_DEFAULT_APPS_PANEL (cc_default_apps_panel_get_type ())
+G_DECLARE_FINAL_TYPE (CcDefaultAppsPanel, cc_default_apps_panel, CC, DEFAULT_APPS_PANEL, CcPanel)
 
-GtkWidget *cc_info_default_apps_panel_new (void);
+GtkWidget *cc_default_apps_panel_new (void);
 
 G_END_DECLS
diff --git a/panels/info/cc-info-default-apps-panel.ui b/panels/default-apps/cc-default-apps-panel.ui
similarity index 99%
rename from panels/info/cc-info-default-apps-panel.ui
rename to panels/default-apps/cc-default-apps-panel.ui
index e6e20050e..06d4063da 100644
--- a/panels/info/cc-info-default-apps-panel.ui
+++ b/panels/default-apps/cc-default-apps-panel.ui
@@ -1,7 +1,7 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <interface>
   <!-- interface-requires gtk+ 3.0 -->
-  <template class="CcInfoDefaultAppsPanel" parent="CcPanel">
+  <template class="CcDefaultAppsPanel" parent="CcPanel">
     <property name="visible">True</property>
     <property name="can-focus">False</property>
     <property name="expand">True</property>
diff --git a/panels/default-apps/default-apps.gresource.xml b/panels/default-apps/default-apps.gresource.xml
new file mode 100644
index 000000000..a2029e7b3
--- /dev/null
+++ b/panels/default-apps/default-apps.gresource.xml
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<gresources>
+  <gresource prefix="/org/gnome/control-center/default-apps">
+    <file preprocess="xml-stripblanks">cc-default-apps-panel.ui</file>
+  </gresource>
+</gresources>
diff --git a/panels/info/gnome-default-apps-panel.desktop.in.in 
b/panels/default-apps/gnome-default-apps-panel.desktop.in.in
similarity index 100%
rename from panels/info/gnome-default-apps-panel.desktop.in.in
rename to panels/default-apps/gnome-default-apps-panel.desktop.in.in
diff --git a/panels/default-apps/meson.build b/panels/default-apps/meson.build
new file mode 100644
index 000000000..68550062d
--- /dev/null
+++ b/panels/default-apps/meson.build
@@ -0,0 +1,42 @@
+panels_list += cappletname
+desktop = 'gnome-@0@-panel.desktop'.format(cappletname)
+
+desktop_in = configure_file(
+  input: desktop + '.in.in',
+  output: desktop + '.in',
+  configuration: desktop_conf
+)
+
+i18n.merge_file(
+  desktop,
+  type: 'desktop',
+  input: desktop_in,
+  output: desktop,
+  po_dir: po_dir,
+  install: true,
+  install_dir: control_center_desktopdir
+)
+
+sources = files(
+  'cc-default-apps-panel.c'
+)
+
+resource_data = files(
+  'cc-default-apps-panel.ui'
+)
+
+sources += gnome.compile_resources(
+  'cc-' + cappletname + '-resources',
+  cappletname + '.gresource.xml',
+  c_name: 'cc_' + cappletname.underscorify (),
+  dependencies: resource_data,
+  export: true
+)
+
+panels_libs += static_library(
+  cappletname,
+  sources: sources,
+  include_directories: [ top_inc, common_inc ],
+  dependencies: common_deps,
+  c_args: cflags
+)
diff --git a/panels/info/info.gresource.xml b/panels/info/info.gresource.xml
index 341b36a1d..98af3f6ed 100644
--- a/panels/info/info.gresource.xml
+++ b/panels/info/info.gresource.xml
@@ -2,7 +2,6 @@
 <gresources>
   <gresource prefix="/org/gnome/control-center/info">
     <file preprocess="xml-stripblanks">cc-info-overview-panel.ui</file>
-    <file preprocess="xml-stripblanks">cc-info-default-apps-panel.ui</file>
     <file preprocess="xml-stripblanks">cc-info-removable-media-panel.ui</file>
     <file>GnomeLogoVerticalMedium.svg</file>
   </gresource>
diff --git a/panels/info/meson.build b/panels/info/meson.build
index e07babfd5..74e9937b0 100644
--- a/panels/info/meson.build
+++ b/panels/info/meson.build
@@ -1,5 +1,4 @@
 panel_names = [
-  'default-apps',
   'info-overview',
   'removable-media'
 ]
@@ -33,7 +32,6 @@ cflags += [
 ]
 
 sources = files(
-  'cc-info-default-apps-panel.c',
   'cc-info-overview-panel.c',
   'cc-info-removable-media-panel.c',
   'info-cleanup.c'
@@ -41,7 +39,6 @@ sources = files(
 
 resource_data = files(
   'GnomeLogoVerticalMedium.svg',
-  'cc-info-default-apps-panel.ui',
   'cc-info-overview-panel.ui',
   'cc-info-removable-media-panel.ui'
 )
diff --git a/panels/meson.build b/panels/meson.build
index 95a44bb9d..98ea94b9e 100644
--- a/panels/meson.build
+++ b/panels/meson.build
@@ -5,6 +5,7 @@ panels = [
   'background',
   'color',
   'datetime',
+  'default-apps',
   'display',
   'info',
   'keyboard',
diff --git a/po/POTFILES.in b/po/POTFILES.in
index 0111356c2..f00c1eeff 100644
--- a/po/POTFILES.in
+++ b/po/POTFILES.in
@@ -35,6 +35,8 @@ panels/datetime/little.ui
 panels/datetime/middle.ui
 panels/datetime/org.gnome.controlcenter.datetime.policy.in
 panels/datetime/ydm.ui
+panels/default-apps/cc-default-apps-panel.ui
+panels/default-apps/gnome-default-apps-panel.desktop.in.in
 panels/display/cc-display-panel.c
 panels/display/cc-display-panel.ui
 panels/display/cc-display-settings.c
@@ -42,12 +44,10 @@ panels/display/cc-display-settings.ui
 panels/display/cc-night-light-page.c
 panels/display/cc-night-light-page.ui
 panels/display/gnome-display-panel.desktop.in.in
-panels/info/cc-info-default-apps-panel.ui
 panels/info/cc-info-overview-panel.c
 panels/info/cc-info-overview-panel.ui
 panels/info/cc-info-removable-media-panel.c
 panels/info/cc-info-removable-media-panel.ui
-panels/info/gnome-default-apps-panel.desktop.in.in
 panels/info/gnome-info-overview-panel.desktop.in.in
 panels/info/gnome-removable-media-panel.desktop.in.in
 panels/keyboard/00-multimedia.xml.in
diff --git a/shell/cc-panel-loader.c b/shell/cc-panel-loader.c
index 5eeb44e60..0331cacb7 100644
--- a/shell/cc-panel-loader.c
+++ b/shell/cc-panel-loader.c
@@ -38,9 +38,9 @@ extern GType cc_bluetooth_panel_get_type (void);
 #endif /* BUILD_BLUETOOTH */
 extern GType cc_color_panel_get_type (void);
 extern GType cc_date_time_panel_get_type (void);
+extern GType cc_default_apps_panel_get_type (void);
 extern GType cc_display_panel_get_type (void);
 extern GType cc_info_overview_panel_get_type (void);
-extern GType cc_info_default_apps_panel_get_type (void);
 extern GType cc_info_removable_media_panel_get_type (void);
 extern GType cc_keyboard_panel_get_type (void);
 extern GType cc_mouse_panel_get_type (void);
@@ -91,9 +91,9 @@ static CcPanelLoaderVtable default_panels[] =
 #endif
   PANEL_TYPE("color",            cc_color_panel_get_type,                NULL),
   PANEL_TYPE("datetime",         cc_date_time_panel_get_type,            NULL),
+  PANEL_TYPE("default-apps",     cc_default_apps_panel_get_type,         NULL),
   PANEL_TYPE("display",          cc_display_panel_get_type,              NULL),
   PANEL_TYPE("info-overview",    cc_info_overview_panel_get_type,        NULL),
-  PANEL_TYPE("default-apps",     cc_info_default_apps_panel_get_type,    NULL),
   PANEL_TYPE("removable-media",  cc_info_removable_media_panel_get_type, NULL),
   PANEL_TYPE("keyboard",         cc_keyboard_panel_get_type,             NULL),
   PANEL_TYPE("mouse",            cc_mouse_panel_get_type,                NULL),


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]