info: Split removable-media into its own panel
This commit is contained in:
parent
e743b8efd7
commit
1f34dd67dd
11 changed files with 134 additions and 91 deletions
|
@ -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>
|
||||
|
|
|
@ -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')
|
||||
]
|
||||
|
|
|
@ -16,6 +16,7 @@ panels = [
|
|||
'printers',
|
||||
'privacy',
|
||||
'region',
|
||||
'removable-media',
|
||||
'search',
|
||||
'sharing',
|
||||
'sound',
|
||||
|
|
|
@ -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);
|
|
@ -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 */
|
|
@ -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>
|
46
panels/removable-media/meson.build
Normal file
46
panels/removable-media/meson.build
Normal file
|
@ -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
|
||||
)
|
6
panels/removable-media/removable-media.gresource.xml
Normal file
6
panels/removable-media/removable-media.gresource.xml
Normal file
|
@ -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>
|
|
@ -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
|
||||
|
|
|
@ -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),
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue