[gnome-control-center] info: Split removable-media into its own panel



commit 1f34dd67dd7eddf3c897e385bf252075f71a8581
Author: Robert Ancell <robert ancell canonical com>
Date:   Mon Aug 12 16:18:46 2019 +1200

    info: Split removable-media into its own panel

 panels/info/info.gresource.xml                     |   1 -
 panels/info/meson.build                            |  44 ++++-----
 panels/meson.build                                 |   1 +
 .../cc-removable-media-panel.c}                    | 105 ++++++++++-----------
 .../cc-removable-media-panel.h}                    |  10 +-
 .../cc-removable-media-panel.ui}                   |   2 +-
 .../gnome-removable-media-panel.desktop.in.in      |   0
 panels/removable-media/meson.build                 |  46 +++++++++
 .../removable-media/removable-media.gresource.xml  |   6 ++
 po/POTFILES.in                                     |   6 +-
 shell/cc-panel-loader.c                            |   4 +-
 11 files changed, 134 insertions(+), 91 deletions(-)
---
diff --git a/panels/info/info.gresource.xml b/panels/info/info.gresource.xml
index 98af3f6ed..ac9d4d2a9 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-removable-media-panel.ui</file>
     <file>GnomeLogoVerticalMedium.svg</file>
   </gresource>
 </gresources>
diff --git a/panels/info/meson.build b/panels/info/meson.build
index 74e9937b0..2e54c9079 100644
--- a/panels/info/meson.build
+++ b/panels/info/meson.build
@@ -1,29 +1,24 @@
-panel_names = [
-  'info-overview',
-  'removable-media'
-]
+desktop = 'gnome-@0@-panel.desktop'.format('info-overview')
 
-panels_list += panel_names
+panels_list += 'info-overview'
 
-foreach name: panel_names
-  desktop = 'gnome-' + name + '-panel.desktop'
+desktop = 'gnome-info-overview-panel.desktop'
 
-  desktop_in = configure_file(
-    input: desktop + '.in.in',
-    output: desktop + '.in',
-    configuration: desktop_conf
-  )
+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
-  )
-endforeach
+i18n.merge_file(
+  desktop,
+  type: 'desktop',
+  input: desktop_in,
+  output: desktop,
+  po_dir: po_dir,
+  install: true,
+  install_dir: control_center_desktopdir
+)
 
 cflags += [
   '-DBINDIR="@0@"'.format(control_center_bindir),
@@ -33,14 +28,12 @@ cflags += [
 
 sources = files(
   'cc-info-overview-panel.c',
-  'cc-info-removable-media-panel.c',
   'info-cleanup.c'
 )
 
 resource_data = files(
   'GnomeLogoVerticalMedium.svg',
-  'cc-info-overview-panel.ui',
-  'cc-info-removable-media-panel.ui'
+  'cc-info-overview-panel.ui'
 )
 
 sources += gnome.compile_resources(
@@ -52,7 +45,6 @@ sources += gnome.compile_resources(
 )
 
 deps = common_deps + [
-  polkit_gobject_dep,
   dependency('udisks2', version: '>= 2.1.8'),
   dependency('libgtop-2.0')
 ]
diff --git a/panels/meson.build b/panels/meson.build
index 98ea94b9e..3e7b9696d 100644
--- a/panels/meson.build
+++ b/panels/meson.build
@@ -16,6 +16,7 @@ panels = [
   'printers',
   'privacy',
   'region',
+  'removable-media',
   'search',
   'sharing',
   'sound',
diff --git a/panels/info/cc-info-removable-media-panel.c b/panels/removable-media/cc-removable-media-panel.c
similarity index 82%
rename from panels/info/cc-info-removable-media-panel.c
rename to panels/removable-media/cc-removable-media-panel.c
index 0ea0f5869..43185b1a2 100644
--- a/panels/info/cc-info-removable-media-panel.c
+++ b/panels/removable-media/cc-removable-media-panel.c
@@ -21,8 +21,7 @@
 
 #include <config.h>
 
-#include "cc-info-resources.h"
-#include "info-cleanup.h"
+#include "cc-removable-media-resources.h"
 
 #include <glib.h>
 #include <glib/gi18n.h>
@@ -42,7 +41,7 @@
 #include <gdk/gdkx.h>
 #endif
 
-#include "cc-info-removable-media-panel.h"
+#include "cc-removable-media-panel.h"
 
 
 /* Autorun options */
@@ -57,7 +56,7 @@
 
 #define MEDIA_HANDLING_SCHEMA "org.gnome.desktop.media-handling"
 
-struct _CcInfoRemovableMediaPanel
+struct _CcRemovableMediaPanel
 {
   CcPanel    parent_instance;
 
@@ -82,7 +81,7 @@ struct _CcInfoRemovableMediaPanel
 };
 
 
-G_DEFINE_TYPE (CcInfoRemovableMediaPanel, cc_info_removable_media_panel, CC_TYPE_PANEL)
+G_DEFINE_TYPE (CcRemovableMediaPanel, cc_removable_media_panel, CC_TYPE_PANEL)
 
 static void
 ellipsize_cell_layout (GtkCellLayout *cell_layout)
@@ -158,11 +157,11 @@ media_panel_g_strv_find (char       **strv,
 }
 
 static void
-autorun_get_preferences (CcInfoRemovableMediaPanel *self,
-                         const char                *x_content_type,
-                         gboolean                  *pref_start_app,
-                         gboolean                  *pref_ignore,
-                         gboolean                  *pref_open_folder)
+autorun_get_preferences (CcRemovableMediaPanel *self,
+                         const char            *x_content_type,
+                         gboolean              *pref_start_app,
+                         gboolean              *pref_ignore,
+                         gboolean              *pref_open_folder)
 {
   g_auto(GStrv) x_content_start_app = NULL;
   g_auto(GStrv) x_content_ignore = NULL;
@@ -193,11 +192,11 @@ autorun_get_preferences (CcInfoRemovableMediaPanel *self,
 }
 
 static void
-autorun_set_preferences (CcInfoRemovableMediaPanel *self,
-                         const char                *x_content_type,
-                         gboolean                   pref_start_app,
-                         gboolean                   pref_ignore,
-                         gboolean                   pref_open_folder)
+autorun_set_preferences (CcRemovableMediaPanel *self,
+                         const char            *x_content_type,
+                         gboolean               pref_start_app,
+                         gboolean               pref_ignore,
+                         gboolean               pref_open_folder)
 {
   g_auto(GStrv) x_content_start_app = NULL;
   g_auto(GStrv) x_content_ignore = NULL;
@@ -240,7 +239,7 @@ custom_item_activated_cb (GtkAppChooserButton *button,
                           const gchar         *item,
                           gpointer             user_data)
 {
-  CcInfoRemovableMediaPanel *self = user_data;
+  CcRemovableMediaPanel *self = user_data;
   g_autofree gchar *content_type = NULL;
 
   content_type = gtk_app_chooser_get_content_type (GTK_APP_CHOOSER (button));
@@ -261,7 +260,7 @@ static void
 combo_box_changed_cb (GtkComboBox *combo_box,
                       gpointer     user_data)
 {
-  CcInfoRemovableMediaPanel *self = user_data;
+  CcRemovableMediaPanel *self = user_data;
   g_autoptr(GAppInfo) info = NULL;
   g_autofree gchar *content_type = NULL;
 
@@ -277,9 +276,9 @@ combo_box_changed_cb (GtkComboBox *combo_box,
 }
 
 static void
-prepare_combo_box (CcInfoRemovableMediaPanel *self,
-                   GtkWidget                 *combo_box,
-                   const gchar               *heading)
+prepare_combo_box (CcRemovableMediaPanel *self,
+                   GtkWidget             *combo_box,
+                   const gchar           *heading)
 {
   GtkAppChooserButton *app_chooser = GTK_APP_CHOOSER_BUTTON (combo_box);
   gboolean pref_ask;
@@ -335,8 +334,8 @@ prepare_combo_box (CcInfoRemovableMediaPanel *self,
 }
 
 static void
-other_type_combo_box_changed (GtkComboBox               *combo_box,
-                              CcInfoRemovableMediaPanel *self)
+other_type_combo_box_changed (GtkComboBox           *combo_box,
+                              CcRemovableMediaPanel *self)
 {
   GtkTreeIter iter;
   GtkTreeModel *model;
@@ -375,9 +374,9 @@ other_type_combo_box_changed (GtkComboBox               *combo_box,
 }
 
 static void
-on_extra_options_dialog_response (GtkWidget                 *dialog,
-                                  int                        response,
-                                  CcInfoRemovableMediaPanel *self)
+on_extra_options_dialog_response (GtkWidget             *dialog,
+                                  int                    response,
+                                  CcRemovableMediaPanel *self)
 {
   gtk_widget_hide (dialog);
 
@@ -388,8 +387,8 @@ on_extra_options_dialog_response (GtkWidget                 *dialog,
 }
 
 static void
-on_extra_options_button_clicked (GtkWidget                 *button,
-                                 CcInfoRemovableMediaPanel *self)
+on_extra_options_button_clicked (GtkWidget             *button,
+                                 CcRemovableMediaPanel *self)
 {
   GtkWidget *combo_box;
 
@@ -412,11 +411,11 @@ on_extra_options_button_clicked (GtkWidget                 *button,
   gtk_window_present (GTK_WINDOW (self->media_dialog));
 }
 
-#define OFFSET(x)             (G_STRUCT_OFFSET (CcInfoRemovableMediaPanel, x))
+#define OFFSET(x)             (G_STRUCT_OFFSET (CcRemovableMediaPanel, x))
 #define WIDGET_FROM_OFFSET(x) (G_STRUCT_MEMBER (GtkWidget*, self, x))
 
 static void
-info_panel_setup_media (CcInfoRemovableMediaPanel *self)
+info_panel_setup_media (CcRemovableMediaPanel *self)
 {
   guint n;
   GList *l, *content_types;
@@ -558,56 +557,56 @@ info_panel_setup_media (CcInfoRemovableMediaPanel *self)
 
 
 static void
-cc_info_removable_media_panel_finalize (GObject *object)
+cc_removable_media_panel_finalize (GObject *object)
 {
-  CcInfoRemovableMediaPanel *self = CC_INFO_REMOVABLE_MEDIA_PANEL (object);
+  CcRemovableMediaPanel *self = CC_REMOVABLE_MEDIA_PANEL (object);
 
   g_clear_object (&self->media_settings);
 
-  G_OBJECT_CLASS (cc_info_removable_media_panel_parent_class)->finalize (object);
+  G_OBJECT_CLASS (cc_removable_media_panel_parent_class)->finalize (object);
 }
 
 static void
-cc_info_removable_media_panel_dispose (GObject *object)
+cc_removable_media_panel_dispose (GObject *object)
 {
-  CcInfoRemovableMediaPanel *self = CC_INFO_REMOVABLE_MEDIA_PANEL (object);
+  CcRemovableMediaPanel *self = CC_REMOVABLE_MEDIA_PANEL (object);
 
   g_clear_pointer (&self->media_dialog, gtk_widget_destroy);
 
-  G_OBJECT_CLASS (cc_info_removable_media_panel_parent_class)->dispose (object);
+  G_OBJECT_CLASS (cc_removable_media_panel_parent_class)->dispose (object);
 }
 
 static void
-cc_info_removable_media_panel_class_init (CcInfoRemovableMediaPanelClass *klass)
+cc_removable_media_panel_class_init (CcRemovableMediaPanelClass *klass)
 {
   GObjectClass   *object_class = G_OBJECT_CLASS (klass);
   GtkWidgetClass *widget_class = GTK_WIDGET_CLASS (klass);
 
-  object_class->finalize = cc_info_removable_media_panel_finalize;
-  object_class->dispose = cc_info_removable_media_panel_dispose;
+  object_class->finalize = cc_removable_media_panel_finalize;
+  object_class->dispose = cc_removable_media_panel_dispose;
 
-  gtk_widget_class_set_template_from_resource (widget_class, 
"/org/gnome/control-center/info/cc-info-removable-media-panel.ui");
+  gtk_widget_class_set_template_from_resource (widget_class, 
"/org/gnome/control-center/removable-media/cc-removable-media-panel.ui");
 
-  gtk_widget_class_bind_template_child (widget_class, CcInfoRemovableMediaPanel, media_handling_vbox);
-  gtk_widget_class_bind_template_child (widget_class, CcInfoRemovableMediaPanel, 
media_autorun_never_checkbutton);
-  gtk_widget_class_bind_template_child (widget_class, CcInfoRemovableMediaPanel, extra_options_button);
+  gtk_widget_class_bind_template_child (widget_class, CcRemovableMediaPanel, media_handling_vbox);
+  gtk_widget_class_bind_template_child (widget_class, CcRemovableMediaPanel, 
media_autorun_never_checkbutton);
+  gtk_widget_class_bind_template_child (widget_class, CcRemovableMediaPanel, extra_options_button);
 
-  gtk_widget_class_bind_template_child (widget_class, CcInfoRemovableMediaPanel, media_audio_cdda_combobox);
-  gtk_widget_class_bind_template_child (widget_class, CcInfoRemovableMediaPanel, media_video_dvd_combobox);
-  gtk_widget_class_bind_template_child (widget_class, CcInfoRemovableMediaPanel, 
media_music_player_combobox);
-  gtk_widget_class_bind_template_child (widget_class, CcInfoRemovableMediaPanel, media_dcf_combobox);
-  gtk_widget_class_bind_template_child (widget_class, CcInfoRemovableMediaPanel, media_software_combobox);
+  gtk_widget_class_bind_template_child (widget_class, CcRemovableMediaPanel, media_audio_cdda_combobox);
+  gtk_widget_class_bind_template_child (widget_class, CcRemovableMediaPanel, media_video_dvd_combobox);
+  gtk_widget_class_bind_template_child (widget_class, CcRemovableMediaPanel, media_music_player_combobox);
+  gtk_widget_class_bind_template_child (widget_class, CcRemovableMediaPanel, media_dcf_combobox);
+  gtk_widget_class_bind_template_child (widget_class, CcRemovableMediaPanel, media_software_combobox);
 
-  gtk_widget_class_bind_template_child (widget_class, CcInfoRemovableMediaPanel, media_dialog);
-  gtk_widget_class_bind_template_child (widget_class, CcInfoRemovableMediaPanel, media_other_type_combobox);
-  gtk_widget_class_bind_template_child (widget_class, CcInfoRemovableMediaPanel, media_other_action_label);
-  gtk_widget_class_bind_template_child (widget_class, CcInfoRemovableMediaPanel, 
media_other_action_container);
+  gtk_widget_class_bind_template_child (widget_class, CcRemovableMediaPanel, media_dialog);
+  gtk_widget_class_bind_template_child (widget_class, CcRemovableMediaPanel, media_other_type_combobox);
+  gtk_widget_class_bind_template_child (widget_class, CcRemovableMediaPanel, media_other_action_label);
+  gtk_widget_class_bind_template_child (widget_class, CcRemovableMediaPanel, media_other_action_container);
 }
 
 static void
-cc_info_removable_media_panel_init (CcInfoRemovableMediaPanel *self)
+cc_removable_media_panel_init (CcRemovableMediaPanel *self)
 {
-  g_resources_register (cc_info_get_resource ());
+  g_resources_register (cc_removable_media_get_resource ());
 
   gtk_widget_init_template (GTK_WIDGET (self));
   self->media_settings = g_settings_new (MEDIA_HANDLING_SCHEMA);
diff --git a/panels/info/cc-info-removable-media-panel.h b/panels/removable-media/cc-removable-media-panel.h
similarity index 71%
rename from panels/info/cc-info-removable-media-panel.h
rename to panels/removable-media/cc-removable-media-panel.h
index c77d96367..f373b9217 100644
--- a/panels/info/cc-info-removable-media-panel.h
+++ b/panels/removable-media/cc-removable-media-panel.h
@@ -17,17 +17,17 @@
  *
  */
 
-#ifndef CC_INFO_REMOVABLE_MEDIA_PANEL_H
-#define CC_INFO_REMOVABLE_MEDIA_PANEL_H
+#ifndef CC_REMOVABLE_MEDIA_PANEL_H
+#define CC_REMOVABLE_MEDIA_PANEL_H
 
 #include <shell/cc-panel.h>
 
 G_BEGIN_DECLS
 
-#define CC_TYPE_INFO_REMOVABLE_MEDIA_PANEL (cc_info_removable_media_panel_get_type ())
-G_DECLARE_FINAL_TYPE (CcInfoRemovableMediaPanel, cc_info_removable_media_panel, CC, 
INFO_REMOVABLE_MEDIA_PANEL, CcPanel)
+#define CC_TYPE_REMOVABLE_MEDIA_PANEL (cc_removable_media_panel_get_type ())
+G_DECLARE_FINAL_TYPE (CcRemovableMediaPanel, cc_removable_media_panel, CC, REMOVABLE_MEDIA_PANEL, CcPanel)
 
 
 G_END_DECLS
 
-#endif /* CC_INFO_REMOVABLE_MEDIA_PANEL_H */
+#endif /* CC_REMOVABLE_MEDIA_PANEL_H */
diff --git a/panels/info/cc-info-removable-media-panel.ui b/panels/removable-media/cc-removable-media-panel.ui
similarity index 99%
rename from panels/info/cc-info-removable-media-panel.ui
rename to panels/removable-media/cc-removable-media-panel.ui
index c0b93bfaa..8687af1cf 100644
--- a/panels/info/cc-info-removable-media-panel.ui
+++ b/panels/removable-media/cc-removable-media-panel.ui
@@ -1,7 +1,7 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <interface>
   <!-- interface-requires gtk+ 3.0 -->
-  <template class="CcInfoRemovableMediaPanel" parent="CcPanel">
+  <template class="CcRemovableMediaPanel" parent="CcPanel">
     <property name="visible">True</property>
     <property name="can-focus">False</property>
     <property name="expand">True</property>
diff --git a/panels/info/gnome-removable-media-panel.desktop.in.in 
b/panels/removable-media/gnome-removable-media-panel.desktop.in.in
similarity index 100%
rename from panels/info/gnome-removable-media-panel.desktop.in.in
rename to panels/removable-media/gnome-removable-media-panel.desktop.in.in
diff --git a/panels/removable-media/meson.build b/panels/removable-media/meson.build
new file mode 100644
index 000000000..b51799af9
--- /dev/null
+++ b/panels/removable-media/meson.build
@@ -0,0 +1,46 @@
+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-removable-media-panel.c'
+)
+
+resource_data = files(
+  'cc-removable-media-panel.ui'
+)
+
+sources += gnome.compile_resources(
+  'cc-' + cappletname + '-resources',
+  cappletname + '.gresource.xml',
+  c_name: 'cc_' + cappletname.underscorify (),
+  dependencies: resource_data,
+  export: true
+)
+
+deps = common_deps + [
+  dependency('libgtop-2.0')
+]
+
+panels_libs += static_library(
+  cappletname,
+  sources: sources,
+  include_directories: [ top_inc, common_inc ],
+  dependencies: deps,
+  c_args: cflags
+)
diff --git a/panels/removable-media/removable-media.gresource.xml 
b/panels/removable-media/removable-media.gresource.xml
new file mode 100644
index 000000000..330dbf246
--- /dev/null
+++ b/panels/removable-media/removable-media.gresource.xml
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<gresources>
+  <gresource prefix="/org/gnome/control-center/removable-media">
+    <file preprocess="xml-stripblanks">cc-removable-media-panel.ui</file>
+  </gresource>
+</gresources>
diff --git a/po/POTFILES.in b/po/POTFILES.in
index f00c1eeff..38280a989 100644
--- a/po/POTFILES.in
+++ b/po/POTFILES.in
@@ -46,10 +46,7 @@ panels/display/cc-night-light-page.ui
 panels/display/gnome-display-panel.desktop.in.in
 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-info-overview-panel.desktop.in.in
-panels/info/gnome-removable-media-panel.desktop.in.in
 panels/keyboard/00-multimedia.xml.in
 panels/keyboard/01-input-sources.xml.in
 panels/keyboard/01-launchers.xml.in
@@ -172,6 +169,9 @@ panels/region/cc-input-chooser.ui
 panels/region/cc-region-panel.c
 panels/region/cc-region-panel.ui
 panels/region/gnome-region-panel.desktop.in.in
+panels/removable-media/cc-removable-media-panel.c
+panels/removable-media/cc-removable-media-panel.ui
+panels/removable-media/gnome-removable-media-panel.desktop.in.in
 panels/search/cc-search-locations-dialog.c
 panels/search/cc-search-panel.c
 panels/search/cc-search-panel-row.ui
diff --git a/shell/cc-panel-loader.c b/shell/cc-panel-loader.c
index 0331cacb7..b137adaf2 100644
--- a/shell/cc-panel-loader.c
+++ b/shell/cc-panel-loader.c
@@ -41,7 +41,6 @@ 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_removable_media_panel_get_type (void);
 extern GType cc_keyboard_panel_get_type (void);
 extern GType cc_mouse_panel_get_type (void);
 #ifdef BUILD_NETWORK
@@ -54,6 +53,7 @@ extern GType cc_power_panel_get_type (void);
 extern GType cc_printers_panel_get_type (void);
 extern GType cc_privacy_panel_get_type (void);
 extern GType cc_region_panel_get_type (void);
+extern GType cc_removable_media_panel_get_type (void);
 extern GType cc_search_panel_get_type (void);
 extern GType cc_sharing_panel_get_type (void);
 extern GType cc_sound_panel_get_type (void);
@@ -94,7 +94,6 @@ static CcPanelLoaderVtable default_panels[] =
   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("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),
 #ifdef BUILD_NETWORK
@@ -107,6 +106,7 @@ static CcPanelLoaderVtable default_panels[] =
   PANEL_TYPE("printers",         cc_printers_panel_get_type,             NULL),
   PANEL_TYPE("privacy",          cc_privacy_panel_get_type,              NULL),
   PANEL_TYPE("region",           cc_region_panel_get_type,               NULL),
+  PANEL_TYPE("removable-media",  cc_removable_media_panel_get_type,      NULL),
   PANEL_TYPE("search",           cc_search_panel_get_type,               NULL),
   PANEL_TYPE("sharing",          cc_sharing_panel_get_type,              NULL),
   PANEL_TYPE("sound",            cc_sound_panel_get_type,                NULL),


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