Author: nick
Date: 2008-03-02 13:51:40 + (Sun, 02 Mar 2008)
New Revision: 26656
Modified:
mousepad/branches/nick_0_3/ChangeLog
mousepad/branches/nick_0_3/mousepad/mousepad-document.c
mousepad/branches/nick_0_3/mousepad/mousepad-file.c
Log:
* mousepad/mousepad-file.c: Don't set an error and return false on
externally modified when the file does not exist. This fixes
an error when saving a new file.
* mousepad/mousepad-file.c: Emit signal when the readonly status
changes.
* mousepad/mousepad-document.c: Use the readonly signal to update
the label color. This fixes a readonly-colored label when saving
a new file.
Modified: mousepad/branches/nick_0_3/ChangeLog
===
--- mousepad/branches/nick_0_3/ChangeLog2008-03-02 10:37:59 UTC (rev
26655)
+++ mousepad/branches/nick_0_3/ChangeLog2008-03-02 13:51:40 UTC (rev
26656)
@@ -1,3 +1,15 @@
+2008-03-02 Nick Schermer [EMAIL PROTECTED]
+
+ * mousepad/mousepad-file.c: Don't set an error and return false on
+ externally modified when the file does not exist. This fixes
+ an error when saving a new file.
+ * mousepad/mousepad-file.c: Emit signal when the readonly status
+ changes.
+ * mousepad/mousepad-document.c: Use the readonly signal to update
+ the label color. This fixes a readonly-colored label when saving
+ a new file.
+
+
2008-02-17 Nick Schermer [EMAIL PROTECTED]
* mousepad/mousepad-search-bar.c: Select the text in the search
Modified: mousepad/branches/nick_0_3/mousepad/mousepad-document.c
===
--- mousepad/branches/nick_0_3/mousepad/mousepad-document.c 2008-03-02
10:37:59 UTC (rev 26655)
+++ mousepad/branches/nick_0_3/mousepad/mousepad-document.c 2008-03-02
13:51:40 UTC (rev 26656)
@@ -242,6 +242,7 @@
g_signal_connect (G_OBJECT (document-buffer), notify::cursor-position,
G_CALLBACK (mousepad_document_notify_cursor_position), document);
g_signal_connect (G_OBJECT (document-buffer), notify::has-selection,
G_CALLBACK (mousepad_document_notify_has_selection), document);
g_signal_connect_swapped (G_OBJECT (document-buffer), modified-changed,
G_CALLBACK (mousepad_document_label_color), document);
+ g_signal_connect_swapped (G_OBJECT (document-file), readonly-changed,
G_CALLBACK (mousepad_document_label_color), document);
g_signal_connect (G_OBJECT (document-textview), notify::overwrite,
G_CALLBACK (mousepad_document_notify_overwrite), document);
g_signal_connect (G_OBJECT (document-textview), drag-data-received,
G_CALLBACK (mousepad_document_drag_data_received), document);
}
@@ -415,9 +416,9 @@
static void
mousepad_document_label_color (MousepadDocument *document)
{
- const GdkColor green = {0, 0x, 0x, 0x};
- const GdkColor red = {0, 0x, 0x, 0x};
- gboolean readonly, modified;
+ GdkColor green = {0, 0x, 0x, 0x};
+ GdkColor red = {0, 0x, 0x, 0x};
+ GdkColor *color;
_mousepad_return_if_fail (MOUSEPAD_IS_DOCUMENT (document));
_mousepad_return_if_fail (GTK_IS_TEXT_BUFFER (document-buffer));
@@ -425,13 +426,17 @@
if (document-priv-label)
{
- /* get states */
- readonly = mousepad_file_get_read_only (document-file);
- modified = gtk_text_buffer_get_modified (document-buffer);
-
+ /* label color */
+ if (gtk_text_buffer_get_modified (document-buffer))
+color = green;
+ else if (mousepad_file_get_read_only (document-file))
+color = red;
+ else
+color = NULL;
+
/* update colors */
- gtk_widget_modify_fg (document-priv-label, GTK_STATE_NORMAL, modified
? red : (readonly ? green : NULL));
- gtk_widget_modify_fg (document-priv-label, GTK_STATE_ACTIVE, modified
? red : (readonly ? green : NULL));
+ gtk_widget_modify_fg (document-priv-label, GTK_STATE_NORMAL, color);
+ gtk_widget_modify_fg (document-priv-label, GTK_STATE_ACTIVE, color);
}
}
Modified: mousepad/branches/nick_0_3/mousepad/mousepad-file.c
===
--- mousepad/branches/nick_0_3/mousepad/mousepad-file.c 2008-03-02 10:37:59 UTC
(rev 26655)
+++ mousepad/branches/nick_0_3/mousepad/mousepad-file.c 2008-03-02 13:51:40 UTC
(rev 26656)
@@ -25,6 +25,9 @@
#ifdef HAVE_STRING_H
#include string.h
#endif
+#ifdef HAVE_ERRNO_H
+#include errno.h
+#endif
#include glib.h
#include glib/gstdio.h
@@ -41,6 +44,7 @@
{
/* EXTERNALLY_MODIFIED, */
FILENAME_CHANGED,
+ READONLY_CHANGED,
LAST_SIGNAL
};
@@ -77,6 +81,8 @@
static void mousepad_file_class_init (MousepadFileClass *klass);
static void mousepad_file_init (MousepadFile *file);
static void mousepad_file_finalize (GObject*object);