[gnome-applets/wip/muktupavels/charpick] charpick: port to libgnome-panel
- From: Alberts Muktupāvels <muktupavels src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gnome-applets/wip/muktupavels/charpick] charpick: port to libgnome-panel
- Date: Mon, 30 Mar 2020 10:53:09 +0000 (UTC)
commit 241bbeb8ade88041e20f7c44e05a9ff1b4bb89b1
Author: Alberts Muktupāvels <alberts muktupavels gmail com>
Date: Mon Mar 30 13:52:22 2020 +0300
charpick: port to libgnome-panel
Makefile.am | 2 -
charpick/Makefile.am | 28 ---
charpick/charpick-applet-menu.xml | 14 --
...ome.applets.CharpickerApplet.panel-applet.in.in | 15 --
configure.ac | 4 +-
gnome-applets/Makefile.am | 3 +
.../src => gnome-applets/charpick}/Makefile.am | 17 +-
gnome-applets/charpick/charpick-applet-menu.xml | 18 ++
.../charpick/charpick-applet.c | 237 ++++++++++-----------
gnome-applets/charpick/charpick-applet.h | 31 +++
.../src => gnome-applets/charpick}/charpick.h | 16 +-
.../src => gnome-applets/charpick}/properties.c | 9 +-
gnome-applets/ga-module.c | 11 +
po/POTFILES.in | 7 +-
po/POTFILES.skip | 1 -
15 files changed, 196 insertions(+), 217 deletions(-)
---
diff --git a/Makefile.am b/Makefile.am
index 71d448372..c8add9eb4 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -9,7 +9,6 @@ tracker_search_bar_SUBDIR = tracker-search-bar
endif
always_built_SUBDIRS = \
- charpick \
drivemount \
inhibit \
geyes \
@@ -37,7 +36,6 @@ DIST_SUBDIRS = \
help \
po \
drivemount \
- charpick \
geyes \
mini-commander \
multiload \
diff --git a/configure.ac b/configure.ac
index fd0ee1812..7c36204dc 100644
--- a/configure.ac
+++ b/configure.ac
@@ -350,6 +350,7 @@ AC_CONFIG_FILES([
gnome-applets/Makefile
gnome-applets/battstat/Makefile
gnome-applets/brightness/Makefile
+ gnome-applets/charpick/Makefile
gnome-applets/command/Makefile
gnome-applets/cpufreq/Makefile
gnome-applets/cpufreq/cpufreq-selector/Makefile
@@ -379,9 +380,6 @@ AC_CONFIG_FILES([
accessx-status/pixmaps/Makefile
accessx-status/src/Makefile
- charpick/Makefile
- charpick/src/Makefile
-
drivemount/Makefile
drivemount/src/Makefile
diff --git a/gnome-applets/Makefile.am b/gnome-applets/Makefile.am
index 02fa6e10a..ba38db074 100644
--- a/gnome-applets/Makefile.am
+++ b/gnome-applets/Makefile.am
@@ -3,6 +3,7 @@ NULL =
SUBDIRS = \
battstat \
brightness \
+ charpick \
command \
cpufreq \
gweather \
@@ -36,6 +37,7 @@ org_gnome_gnome_applets_la_SOURCES = \
org_gnome_gnome_applets_la_LIBADD = \
$(top_builddir)/gnome-applets/battstat/libbattery-status-applet.la \
$(top_builddir)/gnome-applets/brightness/libbrightness-applet.la \
+ $(top_builddir)/gnome-applets/charpick/libcharacter-picker-applet.la \
$(top_builddir)/gnome-applets/command/libcommand-applet.la \
$(top_builddir)/gnome-applets/gweather/libgweather-applet.la \
$(top_builddir)/gnome-applets/netspeed/libnet-speed-applet.la \
@@ -77,6 +79,7 @@ ui_files = \
battstat/battstat-applet.ui \
battstat/battstat-applet-menu.xml \
brightness/brightness-applet-menu.xml \
+ charpick/charpick-applet-menu.xml \
command/command-applet-menu.xml \
gweather/gweather-applet-menu.xml \
netspeed/netspeed-menu.xml \
diff --git a/charpick/src/Makefile.am b/gnome-applets/charpick/Makefile.am
similarity index 62%
rename from charpick/src/Makefile.am
rename to gnome-applets/charpick/Makefile.am
index 25de5bd40..f438a9c18 100644
--- a/charpick/src/Makefile.am
+++ b/gnome-applets/charpick/Makefile.am
@@ -1,40 +1,33 @@
NULL =
-uidir = $(pkgdatadir)/ui
-
-charpick_applet_libdir = $(pkglibdir)
-charpick_applet_lib_LTLIBRARIES = libcharacter-picker-applet.la
+noinst_LTLIBRARIES = libcharacter-picker-applet.la
libcharacter_picker_applet_la_CPPFLAGS = \
- -I. \
- -I$(srcdir) \
- -DCHARPICK_MENU_UI_DIR=\""$(uidir)"\" \
- -DGNOMELOCALEDIR=\""$(localedir)"\" \
-DG_LOG_DOMAIN=\"org.gnome.gnome-applets.character-picker\" \
-DG_LOG_USE_STRUCTURED=1 \
$(NULL)
libcharacter_picker_applet_la_CFLAGS = \
- $(GNOME_APPLETS_CFLAGS) \
+ $(GNOME_PANEL_CFLAGS) \
$(GUCHARMAP_CFLAGS) \
$(WARN_CFLAGS) \
$(AM_CFLAGS) \
$(NULL)
libcharacter_picker_applet_la_SOURCES = \
- charpick.c \
+ charpick-applet.c \
+ charpick-applet.h \
charpick.h \
properties.c \
$(NULL)
libcharacter_picker_applet_la_LDFLAGS = \
- -avoid-version \
$(WARN_LDFLAGS) \
$(AM_LDFLAGS) \
$(NULL)
libcharacter_picker_applet_la_LIBADD = \
- $(GNOME_APPLETS_LIBS) \
+ $(GNOME_PANEL_LIBS) \
$(GUCHARMAP_LIBS) \
$(NULL)
diff --git a/gnome-applets/charpick/charpick-applet-menu.xml b/gnome-applets/charpick/charpick-applet-menu.xml
new file mode 100644
index 000000000..d21d33b4e
--- /dev/null
+++ b/gnome-applets/charpick/charpick-applet-menu.xml
@@ -0,0 +1,18 @@
+<interface>
+ <menu id="charpick-menu">
+ <section>
+ <item>
+ <attribute name="label" translatable="yes">_Preferences</attribute>
+ <attribute name="action">charpick.preferences</attribute>
+ </item>
+ <item>
+ <attribute name="label" translatable="yes">_Help</attribute>
+ <attribute name="action">charpick.help</attribute>
+ </item>
+ <item>
+ <attribute name="label" translatable="yes">_About</attribute>
+ <attribute name="action">charpick.about</attribute>
+ </item>
+ </section>
+ </menu>
+</interface>
diff --git a/charpick/src/charpick.c b/gnome-applets/charpick/charpick-applet.c
similarity index 82%
rename from charpick/src/charpick.c
rename to gnome-applets/charpick/charpick-applet.c
index 8dd8ac6cf..781730228 100644
--- a/charpick/src/charpick.c
+++ b/gnome-applets/charpick/charpick-applet.c
@@ -2,18 +2,22 @@
* accented (and other) characters to be pasted into other apps.
*/
-#include <config.h>
+#include "config.h"
+#include "charpick-applet.h"
+
+#include <glib/gi18n-lib.h>
#include <string.h>
-#include <panel-applet.h>
#ifdef HAVE_GUCHARMAP
# include <gucharmap/gucharmap.h>
#endif
+
#include "charpick.h"
+G_DEFINE_TYPE (CharpickApplet, charpick_applet, GP_TYPE_APPLET)
+
/* The comment for each char list has the html entity names of the chars */
/* All gunicar codes should end in 0 */
-
/* This is the default list used when starting charpick the first time */
/* aacute, agrave, eacute, iacute, oacute, frac12, copy*/
/* static const gchar *def_list = "áàéíñóœ©"; */
@@ -85,7 +89,6 @@ static const gunichar ZA_code[] = {7699, 7741, 7755, 7793, 7698, 7740, 7754, 779
/* static const gchar *af_ZA_list = "áéíóúýêîôûèäëïöüÁÉÍÓÚÝÊÎÔÛÈÄËÏÖÜ"; */
static const gunichar af_ZA_code[] = {225, 233, 237, 243, 250, 253, 234, 238, 244, 251, 232, 228, 235, 239,
246, 252, 193, 201, 205, 211, 218, 221, 202, 206, 212, 219, 200, 196, 203, 207, 214, 220, 0};
-
static const gunichar * const chartable[] = {
def_code,
a_code,
@@ -162,7 +165,7 @@ toggle_button_toggled_cb(GtkToggleButton *button, gpointer data)
FALSE);
curr_data->last_toggle_button = button;
- gtk_widget_grab_focus(curr_data->applet);
+ gtk_widget_grab_focus (GTK_WIDGET (curr_data));
unichar = GPOINTER_TO_INT (g_object_get_data (G_OBJECT (button), "unichar"));
curr_data->selected_unichar = unichar;
/* set this? widget as the selection owner */
@@ -302,22 +305,22 @@ get_menu_pos (GtkMenu *menu, gint *x, gint *y, gboolean *push_in, gpointer data)
gint screen_width, screen_height;
gtk_widget_get_preferred_size (GTK_WIDGET (menu), NULL, &reqmenu);
- window = gtk_widget_get_window (curr_data->applet);
+ window = gtk_widget_get_window (GTK_WIDGET (curr_data));
gdk_window_get_origin (window, &tempx, &tempy);
width = gdk_window_get_width (window);
height = gdk_window_get_height (window);
- switch (panel_applet_get_orient (PANEL_APPLET (curr_data->applet))) {
- case PANEL_APPLET_ORIENT_DOWN:
+ switch (gp_applet_get_position (GP_APPLET (curr_data))) {
+ case GTK_POS_TOP:
tempy += height;
break;
- case PANEL_APPLET_ORIENT_UP:
+ case GTK_POS_BOTTOM:
tempy -= reqmenu.height;
break;
- case PANEL_APPLET_ORIENT_LEFT:
+ case GTK_POS_RIGHT:
tempx -= reqmenu.width;
break;
- case PANEL_APPLET_ORIENT_RIGHT:
+ case GTK_POS_LEFT:
tempx += width;
break;
}
@@ -334,7 +337,7 @@ chooser_button_clicked (GtkButton *button, charpick_data *curr_data)
gtk_menu_popdown (GTK_MENU (curr_data->menu));
else {
gtk_menu_set_screen (GTK_MENU (curr_data->menu),
- gtk_widget_get_screen (GTK_WIDGET (curr_data->applet)));
+ gtk_widget_get_screen (GTK_WIDGET (curr_data)));
gtk_menu_popup (GTK_MENU (curr_data->menu), NULL, NULL, get_menu_pos, curr_data,
0, gtk_get_current_event_time());
@@ -381,17 +384,17 @@ build_table(charpick_data *p_curr_data)
{
gtk_widget_set_tooltip_text (button, _("Available palettes"));
- switch (panel_applet_get_orient (PANEL_APPLET (p_curr_data->applet))) {
- case PANEL_APPLET_ORIENT_DOWN:
+ switch (gp_applet_get_position (GP_APPLET (p_curr_data))) {
+ case GTK_POS_TOP:
arrow = gtk_image_new_from_icon_name ("pan-down-symbolic", GTK_ICON_SIZE_MENU);
break;
- case PANEL_APPLET_ORIENT_UP:
+ case GTK_POS_BOTTOM:
arrow = gtk_image_new_from_icon_name ("pan-up-symbolic", GTK_ICON_SIZE_MENU);
break;
- case PANEL_APPLET_ORIENT_LEFT:
+ case GTK_POS_RIGHT:
arrow = gtk_image_new_from_icon_name ("pan-start-symbolic", GTK_ICON_SIZE_MENU);
break;
- case PANEL_APPLET_ORIENT_RIGHT:
+ case GTK_POS_LEFT:
arrow = gtk_image_new_from_icon_name ("pan-end-symbolic", GTK_ICON_SIZE_MENU);
break;
default:
@@ -485,7 +488,7 @@ build_table(charpick_data *p_curr_data)
g_free (toggle_button);
- gtk_container_add (GTK_CONTAINER(p_curr_data->applet), box);
+ gtk_container_add (GTK_CONTAINER(p_curr_data), box);
gtk_widget_show_all (p_curr_data->box);
p_curr_data->last_toggle_button = NULL;
@@ -514,9 +517,11 @@ queue_rebuild (charpick_data *curr_data)
g_source_set_name_by_id (curr_data->rebuild_id, "[charpick] rebuild_cb");
}
-static void applet_size_allocate(PanelApplet *applet, GtkAllocation *allocation, gpointer data)
+static void
+applet_size_allocate (GtkWidget *widget,
+ GtkAllocation *allocation,
+ charpick_data *curr_data)
{
- charpick_data *curr_data = data;
if (curr_data->panel_vertical) {
if (curr_data->panel_size == allocation->width)
return;
@@ -528,21 +533,21 @@ static void applet_size_allocate(PanelApplet *applet, GtkAllocation *allocation,
}
queue_rebuild (curr_data);
- return;
}
-static void applet_change_orient(PanelApplet *applet, PanelAppletOrient o, gpointer data)
+static void
+placement_changed_cb (GpApplet *applet,
+ GtkOrientation orientation,
+ GtkPositionType position,
+ CharpickApplet *self)
{
- charpick_data *curr_data = data;
- if (o == PANEL_APPLET_ORIENT_UP ||
- o == PANEL_APPLET_ORIENT_DOWN)
- curr_data->panel_vertical = FALSE;
+ if (orientation == GTK_ORIENTATION_HORIZONTAL)
+ self->panel_vertical = FALSE;
else
- curr_data->panel_vertical = TRUE;
- build_table (curr_data);
- return;
-}
+ self->panel_vertical = TRUE;
+ queue_rebuild (self);
+}
static void
about (GSimpleAction *action,
@@ -584,7 +589,7 @@ help_cb (GSimpleAction *action,
charpick_data *curr_data = (charpick_data *) user_data;
GError *error = NULL;
- gtk_show_uri (gtk_widget_get_screen (GTK_WIDGET (curr_data->applet)),
+ gtk_show_uri (gtk_widget_get_screen (GTK_WIDGET (curr_data)),
"help:char-palette",
gtk_get_current_event_time (),
&error);
@@ -596,34 +601,6 @@ help_cb (GSimpleAction *action,
}
}
-static void
-applet_destroy (GtkWidget *widget, gpointer data)
-{
- charpick_data *curr_data = data;
-
- g_return_if_fail (curr_data);
-
- if (curr_data->rebuild_id != 0)
- {
- g_source_remove (curr_data->rebuild_id);
- curr_data->rebuild_id = 0;
- }
-
- if (curr_data->about_dialog)
- gtk_widget_destroy (curr_data->about_dialog);
- if (curr_data->propwindow)
- gtk_widget_destroy (curr_data->propwindow);
- if (curr_data->box)
- gtk_widget_destroy (curr_data->box);
- if (curr_data->menu)
- gtk_widget_destroy (curr_data->menu);
- if (curr_data->settings)
- g_object_unref (curr_data->settings);
- if (curr_data->invisible)
- gtk_widget_destroy (curr_data->invisible);
- g_free (curr_data);
-}
-
void
save_chartable (charpick_data *curr_data)
{
@@ -668,7 +645,8 @@ get_chartable (charpick_data *curr_data)
static const GActionEntry charpick_applet_menu_actions [] = {
{ "preferences", show_preferences_dialog, NULL, NULL, NULL },
{ "help", help_cb, NULL, NULL, NULL },
- { "about", about, NULL, NULL, NULL }
+ { "about", about, NULL, NULL, NULL },
+ { NULL }
};
void
@@ -692,30 +670,26 @@ make_applet_accessible (GtkWidget *applet)
set_atk_name_description (applet, _("Character Palette"), _("Insert characters"));
}
-static gboolean
-charpicker_applet_fill (PanelApplet *applet)
+static void
+charpicker_applet_fill (charpick_data *curr_data)
{
- PanelAppletOrient orientation;
- charpick_data *curr_data;
+ GtkOrientation orientation;
GdkScreen *screen;
GdkAtom utf8_atom;
GList *list;
gchar *string;
- GSimpleActionGroup *action_group;
+ const char *menu_resource;
GAction *action;
- gchar *ui_path;
- panel_applet_set_flags (applet, PANEL_APPLET_EXPAND_MINOR);
-
- curr_data = g_new0 (charpick_data, 1);
- curr_data->applet = GTK_WIDGET (applet);
+ gp_applet_set_flags (GP_APPLET (curr_data), GP_APPLET_FLAGS_EXPAND_MINOR);
+
curr_data->about_dialog = NULL;
curr_data->add_edit_dialog = NULL;
- curr_data->settings = panel_applet_settings_new (applet, CHARPICK_SCHEMA);
+ curr_data->settings = gp_applet_settings_new (GP_APPLET (curr_data), CHARPICK_SCHEMA);
curr_data->rebuild_id = 0;
get_chartable (curr_data);
-
+
string = g_settings_get_string (curr_data->settings, KEY_CURRENT_LIST);
if (string[0] != '\0') {
list = curr_data->chartable;
@@ -735,15 +709,14 @@ charpicker_applet_fill (PanelApplet *applet)
curr_data->charlist = curr_data->chartable->data;
}
- orientation = panel_applet_get_orient (applet);
- curr_data->panel_vertical = (orientation == PANEL_APPLET_ORIENT_LEFT)
- || (orientation == PANEL_APPLET_ORIENT_RIGHT);
+ orientation = gp_applet_get_orientation (GP_APPLET (curr_data));
+ curr_data->panel_vertical = (orientation == GTK_ORIENTATION_VERTICAL);
build_table (curr_data);
-
- g_signal_connect (G_OBJECT (curr_data->applet), "key_press_event",
+
+ g_signal_connect (G_OBJECT (curr_data), "key_press_event",
G_CALLBACK (key_press_event), curr_data);
- screen = gtk_widget_get_screen (GTK_WIDGET (applet));
+ screen = gtk_widget_get_screen (GTK_WIDGET (curr_data));
curr_data->invisible = gtk_invisible_new_for_screen (screen);
utf8_atom = gdk_atom_intern ("UTF8_STRING", FALSE);
@@ -764,59 +737,75 @@ charpicker_applet_fill (PanelApplet *applet)
G_CALLBACK (selection_clear_cb),
curr_data);
- make_applet_accessible (GTK_WIDGET (applet));
+ make_applet_accessible (GTK_WIDGET (curr_data));
- /* session save signal */
- g_signal_connect (G_OBJECT (applet), "change_orient",
- G_CALLBACK (applet_change_orient), curr_data);
+ g_signal_connect (curr_data,
+ "placement-changed",
+ G_CALLBACK (placement_changed_cb),
+ curr_data);
- g_signal_connect (G_OBJECT (applet), "size_allocate",
- G_CALLBACK (applet_size_allocate), curr_data);
-
- g_signal_connect (G_OBJECT (applet), "destroy",
- G_CALLBACK (applet_destroy), curr_data);
-
- gtk_widget_show_all (GTK_WIDGET (applet));
-
- action_group = g_simple_action_group_new ();
- g_action_map_add_action_entries (G_ACTION_MAP (action_group),
- charpick_applet_menu_actions,
- G_N_ELEMENTS (charpick_applet_menu_actions),
- curr_data);
- ui_path = g_build_filename (CHARPICK_MENU_UI_DIR, "charpick-applet-menu.xml", NULL);
- panel_applet_setup_menu_from_file (applet,
- ui_path, action_group,
- GETTEXT_PACKAGE);
- g_free (ui_path);
-
- gtk_widget_insert_action_group (GTK_WIDGET (applet), "charpick",
- G_ACTION_GROUP (action_group));
-
- action = g_action_map_lookup_action (G_ACTION_MAP (action_group), "preferences");
- g_object_bind_property (applet, "locked-down", action, "enabled",
- G_BINDING_DEFAULT|G_BINDING_INVERT_BOOLEAN|G_BINDING_SYNC_CREATE);
+ g_signal_connect (curr_data,
+ "size-allocate",
+ G_CALLBACK (applet_size_allocate),
+ curr_data);
+
+ gtk_widget_show_all (GTK_WIDGET (curr_data));
- g_object_unref (action_group);
+ menu_resource = GRESOURCE_PREFIX "/ui/charpick-applet-menu.xml";
+ gp_applet_setup_menu_from_resource (GP_APPLET (curr_data),
+ menu_resource,
+ charpick_applet_menu_actions);
+
+ action = gp_applet_menu_lookup_action (GP_APPLET (curr_data), "preferences");
+ g_object_bind_property (curr_data, "locked-down", action, "enabled",
+ G_BINDING_DEFAULT|G_BINDING_INVERT_BOOLEAN|G_BINDING_SYNC_CREATE);
populate_menu (curr_data);
-
- return TRUE;
}
-static gboolean
-charpicker_applet_factory (PanelApplet *applet,
- const gchar *iid,
- gpointer data)
+static void
+charpick_applet_constructed (GObject *object)
{
- gboolean retval = FALSE;
-
- if (!strcmp (iid, "CharpickerApplet"))
- retval = charpicker_applet_fill (applet);
-
- return retval;
+ G_OBJECT_CLASS (charpick_applet_parent_class)->constructed (object);
+ charpicker_applet_fill (CHARPICK_APPLET (object));
}
-PANEL_APPLET_IN_PROCESS_FACTORY ("CharpickerAppletFactory",
- PANEL_TYPE_APPLET,
- charpicker_applet_factory,
- NULL)
+static void
+charpick_applet_dispose (GObject *object)
+{
+ CharpickApplet *self;
+
+ self = CHARPICK_APPLET (object);
+
+ if (self->rebuild_id != 0)
+ {
+ g_source_remove (self->rebuild_id);
+ self->rebuild_id = 0;
+ }
+
+ g_clear_pointer (&self->about_dialog, gtk_widget_destroy);
+ g_clear_pointer (&self->propwindow, gtk_widget_destroy);
+ g_clear_pointer (&self->box, gtk_widget_destroy);
+ g_clear_pointer (&self->menu, gtk_widget_destroy);
+ g_clear_pointer (&self->invisible, gtk_widget_destroy);
+
+ g_clear_object (&self->settings);
+
+ G_OBJECT_CLASS (charpick_applet_parent_class)->dispose (object);
+}
+
+static void
+charpick_applet_class_init (CharpickAppletClass *self_class)
+{
+ GObjectClass *object_class;
+
+ object_class = G_OBJECT_CLASS (self_class);
+
+ object_class->constructed = charpick_applet_constructed;
+ object_class->dispose = charpick_applet_dispose;
+}
+
+static void
+charpick_applet_init (CharpickApplet *self)
+{
+}
diff --git a/gnome-applets/charpick/charpick-applet.h b/gnome-applets/charpick/charpick-applet.h
new file mode 100644
index 000000000..80f414b3f
--- /dev/null
+++ b/gnome-applets/charpick/charpick-applet.h
@@ -0,0 +1,31 @@
+/*
+ * Copyright (C) 2020 Alberts Muktupāvels
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+#ifndef CHARPICK_APPLET_H
+#define CHARPICK_APPLET_H
+
+#include <libgnome-panel/gp-applet.h>
+
+G_BEGIN_DECLS
+
+#define CHARPICK_TYPE_APPLET (charpick_applet_get_type ())
+G_DECLARE_FINAL_TYPE (CharpickApplet, charpick_applet,
+ CHARPICK, APPLET, GpApplet)
+
+G_END_DECLS
+
+#endif
diff --git a/charpick/src/charpick.h b/gnome-applets/charpick/charpick.h
similarity index 87%
rename from charpick/src/charpick.h
rename to gnome-applets/charpick/charpick.h
index 1a0ed11c2..5f592bb46 100644
--- a/charpick/src/charpick.h
+++ b/gnome-applets/charpick/charpick.h
@@ -1,17 +1,15 @@
/* charpick.h -- header file for character picker applet */
-#include <glib.h>
-#include <glib/gi18n.h>
-#include <gtk/gtk.h>
-#include <panel-applet.h>
+#include "charpick-applet.h"
#define CHARPICK_SCHEMA "org.gnome.gnome-applets.charpick"
#define KEY_CURRENT_LIST "current-list"
#define KEY_CHARTABLE "chartable"
-typedef struct _charpick_data charpick_data;
-/* this type has basically all data for this program */
-struct _charpick_data {
+typedef struct _CharpickApplet
+{
+ GpApplet parent;
+
GList *chartable;
gchar * charlist;
gunichar selected_unichar;
@@ -30,8 +28,7 @@ struct _charpick_data {
GSettings *settings;
guint rebuild_id;
GtkWidget *invisible;
-};
-
+} charpick_data;
typedef struct _charpick_button_cb_data charpick_button_cb_data;
/* This is the data type for the button callback function. */
@@ -41,7 +38,6 @@ struct _charpick_button_cb_data {
charpick_data * p_curr_data;
};
-
void start_callback_update(void);
void build_table (charpick_data *curr_data);
diff --git a/charpick/src/properties.c b/gnome-applets/charpick/properties.c
similarity index 98%
rename from charpick/src/properties.c
rename to gnome-applets/charpick/properties.c
index e8629a7ac..a16d02dd8 100644
--- a/charpick/src/properties.c
+++ b/gnome-applets/charpick/properties.c
@@ -11,6 +11,7 @@
#include <string.h>
#include <atk/atkrelation.h>
+#include <glib/gi18n-lib.h>
#include <gtk/gtk.h>
#if 0
@@ -226,7 +227,7 @@ add_palette (GtkButton *buttonk, charpick_data *curr_data)
gtk_widget_show_all (curr_data->add_edit_dialog);
} else {
gtk_window_set_screen (GTK_WINDOW (curr_data->add_edit_dialog),
- gtk_widget_get_screen (GTK_WIDGET (curr_data->applet)));
+ gtk_widget_get_screen (GTK_WIDGET (curr_data)));
gtk_window_present (GTK_WINDOW (curr_data->add_edit_dialog));
}
@@ -263,7 +264,7 @@ edit_palette (GtkButton *button, charpick_data *curr_data)
gtk_widget_show_all (curr_data->add_edit_dialog);
} else {
gtk_window_set_screen (GTK_WINDOW (curr_data->add_edit_dialog),
- gtk_widget_get_screen (GTK_WIDGET (curr_data->applet)));
+ gtk_widget_get_screen (GTK_WIDGET (curr_data)));
gtk_window_present (GTK_WINDOW (curr_data->add_edit_dialog));
}
@@ -510,7 +511,7 @@ show_preferences_dialog (GSimpleAction *action,
if (curr_data->propwindow) {
gtk_window_set_screen (GTK_WINDOW (curr_data->propwindow),
- gtk_widget_get_screen (curr_data->applet));
+ gtk_widget_get_screen (GTK_WIDGET (curr_data)));
gtk_window_present (GTK_WINDOW (curr_data->propwindow));
return;
}
@@ -522,7 +523,7 @@ show_preferences_dialog (GSimpleAction *action,
_("_Help"), GTK_RESPONSE_HELP,
NULL);
gtk_window_set_screen (GTK_WINDOW (curr_data->propwindow),
- gtk_widget_get_screen (curr_data->applet));
+ gtk_widget_get_screen (GTK_WIDGET (curr_data)));
gtk_window_set_default_size (GTK_WINDOW (curr_data->propwindow), 350, 350);
gtk_container_set_border_width (GTK_CONTAINER (curr_data->propwindow), 5);
gtk_box_set_spacing (GTK_BOX (gtk_dialog_get_content_area(GTK_DIALOG (curr_data->propwindow))), 2);
diff --git a/gnome-applets/ga-module.c b/gnome-applets/ga-module.c
index 019cfb05c..defa204ad 100644
--- a/gnome-applets/ga-module.c
+++ b/gnome-applets/ga-module.c
@@ -23,6 +23,7 @@
#include "battstat/battstat-applet.h"
#include "brightness/brightness-applet.h"
+#include "charpick/charpick-applet.h"
#include "command/command-applet.h"
#ifdef BUILD_CPUFREQ_APPLET
#include "cpufreq/cpufreq-applet.h"
@@ -56,6 +57,13 @@ ga_get_applet_info (const char *id)
description = _("Adjusts Laptop panel brightness");
icon_name = "gnome-brightness-applet";
}
+ else if (g_strcmp0 (id, "charpick") == 0)
+ {
+ type_func = charpick_applet_get_type;
+ name = _("Character Palette");
+ description = _("Insert characters");
+ icon_name = "accessories-character-map";
+ }
else if (g_strcmp0 (id, "command") == 0)
{
type_func = command_applet_get_type;
@@ -125,6 +133,8 @@ ga_get_applet_id_from_iid (const char *iid)
return "battstat";
else if (g_strcmp0 (iid, "BrightnessAppletFactory::BrightnessApplet") == 0)
return "brightness";
+ else if (g_strcmp0 (iid, "CharpickerAppletFactory::CharpickerApplet") == 0)
+ return "charpick";
else if (g_strcmp0 (iid, "CommandAppletFactory::CommandApplet") == 0)
return "command";
#ifdef BUILD_CPUFREQ_APPLET
@@ -161,6 +171,7 @@ gp_module_load (GpModule *module)
gp_module_set_applet_ids (module,
"battstat",
"brightness",
+ "charpick",
"command",
#ifdef BUILD_CPUFREQ_APPLET
"cpufreq",
diff --git a/po/POTFILES.in b/po/POTFILES.in
index 52a2304c6..dbf69e6fc 100644
--- a/po/POTFILES.in
+++ b/po/POTFILES.in
@@ -5,10 +5,6 @@
[type: gettext/glade]accessx-status/accessx-status-applet-menu.xml
[type: gettext/ini]accessx-status/org.gnome.applets.AccessxStatusApplet.panel-applet.in.in
accessx-status/src/applet.c
-[type: gettext/glade]charpick/charpick-applet-menu.xml
-[type: gettext/ini]charpick/org.gnome.applets.CharpickerApplet.panel-applet.in.in
-charpick/src/charpick.c
-charpick/src/properties.c
data/schemas/org.gnome.gnome-applets.battstat.gschema.xml.in.in
data/schemas/org.gnome.gnome-applets.charpick.gschema.xml.in.in
data/schemas/org.gnome.gnome-applets.command.gschema.xml.in.in
@@ -37,6 +33,9 @@ gnome-applets/battstat/battstat-applet.c
gnome-applets/battstat/properties.c
[type: gettext/glade]gnome-applets/brightness/brightness-applet-menu.xml
gnome-applets/brightness/brightness-applet.c
+[type: gettext/glade]gnome-applets/charpick/charpick-applet-menu.xml
+gnome-applets/charpick/charpick-applet.c
+gnome-applets/charpick/properties.c
[type: gettext/glade]gnome-applets/command/command-applet-menu.xml
gnome-applets/command/command-applet.c
[type: gettext/glade]gnome-applets/cpufreq/cpufreq-applet-menu.xml
diff --git a/po/POTFILES.skip b/po/POTFILES.skip
index 97405e45a..c83fb7f5a 100644
--- a/po/POTFILES.skip
+++ b/po/POTFILES.skip
@@ -4,7 +4,6 @@
# upper-case before lower-case).
#
accessx-status/org.gnome.applets.AccessxStatusApplet.panel-applet.in
-charpick/org.gnome.applets.CharpickerApplet.panel-applet.in
data/schemas/org.gnome.gnome-applets.battstat.gschema.xml.in
data/schemas/org.gnome.gnome-applets.charpick.gschema.xml.in
data/schemas/org.gnome.gnome-applets.command.gschema.xml.in
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]