gedit r6744 - in trunk: . plugins/sort
- From: icq svn gnome org
- To: svn-commits-list gnome org
- Subject: gedit r6744 - in trunk: . plugins/sort
- Date: Sun, 28 Dec 2008 20:21:33 +0000 (UTC)
Author: icq
Date: Sun Dec 28 20:21:33 2008
New Revision: 6744
URL: http://svn.gnome.org/viewvc/gedit?rev=6744&view=rev
Log:
2008-12-28 Ignacio Casal Quinteiro <nacho resa gmail com>
* plugins/sort/Makefile.am:
* plugins/sort/gedit-sort-plugin.c:
Use data-dir property.
Modified:
trunk/ChangeLog
trunk/plugins/sort/Makefile.am
trunk/plugins/sort/gedit-sort-plugin.c
Modified: trunk/plugins/sort/Makefile.am
==============================================================================
--- trunk/plugins/sort/Makefile.am (original)
+++ trunk/plugins/sort/Makefile.am Sun Dec 28 20:21:33 2008
@@ -6,9 +6,7 @@
$(GEDIT_CFLAGS) \
$(WARN_CFLAGS) \
$(DISABLE_DEPRECATED_CFLAGS) \
- -DGEDIT_LOCALEDIR=\""$(prefix)/$(DATADIRNAME)/locale"\" \
- -DGNOME_ICONDIR=\""$(datadir)/pixmaps"\" \
- -DGEDIT_UIDIR=\""$(datadir)/gedit-2/plugins/sort/"\"
+ -DGEDIT_LOCALEDIR=\""$(prefix)/$(DATADIRNAME)/locale"\"
plugin_LTLIBRARIES = libsort.la
Modified: trunk/plugins/sort/gedit-sort-plugin.c
==============================================================================
--- trunk/plugins/sort/gedit-sort-plugin.c (original)
+++ trunk/plugins/sort/gedit-sort-plugin.c Sun Dec 28 20:21:33 2008
@@ -64,13 +64,19 @@
typedef struct
{
+ GeditPlugin *plugin;
+ GeditWindow *window;
+} ActionData;
+
+typedef struct
+{
gboolean ignore_case;
gboolean reverse_order;
gboolean remove_duplicates;
gint starting_column;
} SortInfo;
-static void sort_cb (GtkAction *action, GeditWindow *window);
+static void sort_cb (GtkAction *action, ActionData *action_data);
static void sort_real (SortDialog *dialog);
static const GtkActionEntry action_entries[] =
@@ -89,7 +95,7 @@
{
gedit_debug (DEBUG_PLUGINS);
- g_free (dialog_pointer);
+ g_slice_free (SortDialog, dialog_pointer);
}
static void
@@ -119,17 +125,22 @@
}
static SortDialog *
-get_sort_dialog (GtkWindow *parent)
+get_sort_dialog (ActionData *action_data)
{
SortDialog *dialog;
GtkWidget *error_widget;
gboolean ret;
+ gchar *data_dir;
+ gchar *ui_file;
gedit_debug (DEBUG_PLUGINS);
- dialog = g_new (SortDialog, 1);
+ dialog = g_slice_new (SortDialog);
- ret = gedit_utils_get_ui_objects (GEDIT_UIDIR "sort.ui",
+ data_dir = gedit_plugin_get_data_dir (action_data->plugin);
+ ui_file = g_build_filename (data_dir, "sort.ui", NULL);
+ g_free (data_dir);
+ ret = gedit_utils_get_ui_objects (ui_file,
NULL,
&error_widget,
"sort_dialog", &dialog->dialog,
@@ -138,13 +149,15 @@
"ignore_case_checkbutton", &dialog->ignore_case_checkbutton,
"remove_dups_checkbutton", &dialog->remove_dups_checkbutton,
NULL);
-
+ g_free (ui_file);
+
if (!ret)
{
const gchar *err_message;
err_message = gtk_label_get_label (GTK_LABEL (error_widget));
- gedit_warning (parent, "%s", err_message);
+ gedit_warning (GTK_WINDOW (action_data->window),
+ "%s", err_message);
g_free (dialog);
gtk_widget_destroy (error_widget);
@@ -170,7 +183,7 @@
static void
sort_cb (GtkAction *action,
- GeditWindow *window)
+ ActionData *action_data)
{
GeditDocument *doc;
GtkWindowGroup *wg;
@@ -178,20 +191,20 @@
gedit_debug (DEBUG_PLUGINS);
- doc = gedit_window_get_active_document (window);
+ doc = gedit_window_get_active_document (action_data->window);
g_return_if_fail (doc != NULL);
- dialog = get_sort_dialog (GTK_WINDOW (window));
+ dialog = get_sort_dialog (action_data);
g_return_if_fail (dialog != NULL);
- wg = gedit_window_get_group (window);
+ wg = gedit_window_get_group (action_data->window);
gtk_window_group_add_window (wg,
GTK_WINDOW (dialog->dialog));
dialog->doc = doc;
gtk_window_set_transient_for (GTK_WINDOW (dialog->dialog),
- GTK_WINDOW (window));
+ GTK_WINDOW (action_data->window));
gtk_window_set_modal (GTK_WINDOW (dialog->dialog),
TRUE);
@@ -412,7 +425,15 @@
g_return_if_fail (data != NULL);
g_object_unref (data->ui_action_group);
- g_free (data);
+ g_slice_free (WindowData, data);
+}
+
+static void
+free_action_data (ActionData *data)
+{
+ g_return_if_fail (data != NULL);
+
+ g_slice_free (ActionData, data);
}
static void
@@ -436,20 +457,25 @@
{
GtkUIManager *manager;
WindowData *data;
+ ActionData *action_data;
gedit_debug (DEBUG_PLUGINS);
- data = g_new (WindowData, 1);
+ data = g_slice_new (WindowData);
+ action_data = g_slice_new (ActionData);
+ action_data->window = window;
+ action_data->plugin = plugin;
manager = gedit_window_get_ui_manager (window);
data->ui_action_group = gtk_action_group_new ("GeditSortPluginActions");
gtk_action_group_set_translation_domain (data->ui_action_group,
GETTEXT_PACKAGE);
- gtk_action_group_add_actions (data->ui_action_group,
- action_entries,
- G_N_ELEMENTS (action_entries),
- window);
+ gtk_action_group_add_actions_full (data->ui_action_group,
+ action_entries,
+ G_N_ELEMENTS (action_entries),
+ action_data,
+ (GDestroyNotify) free_action_data);
gtk_ui_manager_insert_action_group (manager,
data->ui_action_group,
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]