gedit r6819 - in trunk: . gedit



Author: icq
Date: Wed Jan  7 14:56:55 2009
New Revision: 6819
URL: http://svn.gnome.org/viewvc/gedit?rev=6819&view=rev

Log:
2009-01-07  Ignacio Casal Quinteiro  <nacho resa gmail com>

        * gedit/gedit-window-private.h:
        * gedit/gedit-ui.h:
        * gedit/gedit-ui.xml:
        * gedit/gedit-window.c:
        * gedit/gedit-window.h:
        * gedit/gedit-commands.h:
        * gedit/gedit-commands-view.c:
        Added new fullscreen mode. (Fixes bug #520749).



Modified:
   trunk/ChangeLog
   trunk/gedit/gedit-commands-view.c
   trunk/gedit/gedit-commands.h
   trunk/gedit/gedit-ui.h
   trunk/gedit/gedit-ui.xml
   trunk/gedit/gedit-window-private.h
   trunk/gedit/gedit-window.c
   trunk/gedit/gedit-window.h

Modified: trunk/gedit/gedit-commands-view.c
==============================================================================
--- trunk/gedit/gedit-commands-view.c	(original)
+++ trunk/gedit/gedit-commands-view.c	Wed Jan  7 14:56:55 2009
@@ -121,3 +121,34 @@
 		gtk_widget_hide (GTK_WIDGET (panel));
 	}
 }
+
+void
+_gedit_cmd_view_toggle_fullscreen_mode (GtkAction *action,
+					GeditWindow *window)
+{
+	gedit_debug (DEBUG_COMMANDS);
+
+	if (_gedit_window_is_fullscreen (window))
+		_gedit_window_unfullscreen (window);
+	else
+		_gedit_window_fullscreen (window);
+}
+
+void
+_gedit_cmd_view_leave_fullscreen_mode (GtkAction *action,
+				       GeditWindow *window)
+{
+	GtkAction *view_action;
+
+	view_action = gtk_action_group_get_action (window->priv->always_sensitive_action_group,
+						   "ViewFullscreen");
+	g_signal_handlers_block_by_func
+		(view_action, G_CALLBACK (_gedit_cmd_view_toggle_fullscreen_mode),
+		 window);
+	gtk_toggle_action_set_active (GTK_TOGGLE_ACTION (view_action),
+				      FALSE);
+	_gedit_window_unfullscreen (window);
+	g_signal_handlers_unblock_by_func
+		(view_action, G_CALLBACK (_gedit_cmd_view_toggle_fullscreen_mode),
+		 window);
+}

Modified: trunk/gedit/gedit-commands.h
==============================================================================
--- trunk/gedit/gedit-commands.h	(original)
+++ trunk/gedit/gedit-commands.h	Wed Jan  7 14:56:55 2009
@@ -117,6 +117,10 @@
 							 GeditWindow *window);
 void		_gedit_cmd_view_show_bottom_pane	(GtkAction   *action,
 							 GeditWindow *window);
+void		_gedit_cmd_view_toggle_fullscreen_mode	(GtkAction   *action,
+							 GeditWindow *window);
+void		_gedit_cmd_view_leave_fullscreen_mode	(GtkAction   *action,
+							 GeditWindow *window);
 
 void		_gedit_cmd_search_find			(GtkAction   *action,
 							 GeditWindow *window);

Modified: trunk/gedit/gedit-ui.h
==============================================================================
--- trunk/gedit/gedit-ui.h	(original)
+++ trunk/gedit/gedit-ui.h	Wed Jan  7 14:56:55 2009
@@ -68,7 +68,12 @@
 	{"HelpContents", GTK_STOCK_HELP, N_("_Contents"), "F1",
 	 N_("Open the gedit manual"), G_CALLBACK (_gedit_cmd_help_contents) },
 	{ "HelpAbout", GTK_STOCK_ABOUT, NULL, NULL,
-	 N_("About this application"), G_CALLBACK (_gedit_cmd_help_about) }
+	 N_("About this application"), G_CALLBACK (_gedit_cmd_help_about) },
+	
+	/* Fullscreen toolbar */
+	{ "LeaveFullscreen", GTK_STOCK_LEAVE_FULLSCREEN, NULL,
+	  NULL, N_("Leave fullscreen mode"),
+	  G_CALLBACK (_gedit_cmd_view_leave_fullscreen_mode) }
 };
 
 static const GtkActionEntry gedit_menu_entries[] =
@@ -154,7 +159,10 @@
 	  G_CALLBACK (_gedit_cmd_view_show_statusbar), TRUE },
 	{ "ViewSidePane", NULL, N_("Side _Pane"), "F9",
 	  N_("Show or hide the side pane in the current window"),
-	  G_CALLBACK (_gedit_cmd_view_show_side_pane), FALSE }
+	  G_CALLBACK (_gedit_cmd_view_show_side_pane), FALSE },
+	{ "ViewFullscreen", GTK_STOCK_FULLSCREEN, NULL, "F11",
+	  N_("Edit text at full screen"),
+	  G_CALLBACK (_gedit_cmd_view_toggle_fullscreen_mode), FALSE }
 };
 
 static const GtkToggleActionEntry gedit_toggle_menu_entries[] =

Modified: trunk/gedit/gedit-ui.xml
==============================================================================
--- trunk/gedit/gedit-ui.xml	(original)
+++ trunk/gedit/gedit-ui.xml	Wed Jan  7 14:56:55 2009
@@ -82,6 +82,8 @@
       <menuitem name="ViewSidePaneMenu" action="ViewSidePane"/>
       <menuitem name="ViewBottomPaneMenu" action="ViewBottomPane"/>
       <separator/>
+      <menuitem name="ViewFullscreenMenu" action="ViewFullscreen"/>
+      <separator/>
       <menu name="ViewHighlightModeMenu" action="ViewHighlightMode">
         <placeholder name="LanguagesMenuPlaceholder">
         </placeholder>
@@ -167,6 +169,25 @@
     <toolitem action="SearchReplace"/>
   </toolbar>
 
+  <toolbar name="FullscreenToolBar">
+    <toolitem action="FileNew"/>
+    <toolitem action="FileSave"/>
+    <separator/>
+    <toolitem action="FilePrint"/>
+    <separator/>
+    <toolitem action="EditUndo"/>
+    <toolitem action="EditRedo"/>
+    <separator/>
+    <toolitem action="EditCut"/>
+    <toolitem action="EditCopy"/>
+    <toolitem action="EditPaste"/>
+    <separator/>
+    <toolitem action="SearchFind"/>
+    <toolitem action="SearchReplace"/>
+    <separator expand="true"/>
+    <toolitem action="LeaveFullscreen"/>
+  </toolbar>
+
   <popup name="NotebookPopup" action="NotebookPopupAction">
     <menuitem action="DocumentsMoveToNewWindow"/>
     <separator/>

Modified: trunk/gedit/gedit-window-private.h
==============================================================================
--- trunk/gedit/gedit-window-private.h	(original)
+++ trunk/gedit/gedit-window-private.h	Wed Jan  7 14:56:55 2009
@@ -54,6 +54,9 @@
 	
 	GeditMessageBus *message_bus;	
 
+	/* Widgets for fullscreen mode */
+	GtkWidget      *fullscreen_controls;
+
 	/* statusbar and context ids for statusbar messages */
 	GtkWidget      *statusbar;	
 	guint           generic_message_cid;

Modified: trunk/gedit/gedit-window.c
==============================================================================
--- trunk/gedit/gedit-window.c	(original)
+++ trunk/gedit/gedit-window.c	Wed Jan  7 14:56:55 2009
@@ -173,6 +173,13 @@
 		window->priv->dispose_has_run = TRUE;
 	}
 
+	if (window->priv->fullscreen_controls != NULL)
+	{
+		gtk_widget_destroy (window->priv->fullscreen_controls);
+		
+		window->priv->fullscreen_controls = NULL;
+	}
+
 	if (window->priv->recents_handler_id != 0)
 	{
 		GtkRecentManager *recent_manager;
@@ -434,6 +441,41 @@
 	}
 }
 
+static void
+apply_toolbar_style (GeditWindow *window,
+		     GtkWidget *toolbar)
+{
+	switch (window->priv->toolbar_style)
+	{
+		case GEDIT_TOOLBAR_SYSTEM:
+			gedit_debug_message (DEBUG_WINDOW, "GEDIT: SYSTEM");
+			gtk_toolbar_unset_style (
+					GTK_TOOLBAR (toolbar));
+			break;
+
+		case GEDIT_TOOLBAR_ICONS:
+			gedit_debug_message (DEBUG_WINDOW, "GEDIT: ICONS");
+			gtk_toolbar_set_style (
+					GTK_TOOLBAR (toolbar),
+					GTK_TOOLBAR_ICONS);
+			break;
+
+		case GEDIT_TOOLBAR_ICONS_AND_TEXT:
+			gedit_debug_message (DEBUG_WINDOW, "GEDIT: ICONS_AND_TEXT");
+			gtk_toolbar_set_style (
+					GTK_TOOLBAR (toolbar),
+					GTK_TOOLBAR_BOTH);
+			break;
+
+		case GEDIT_TOOLBAR_ICONS_BOTH_HORIZ:
+			gedit_debug_message (DEBUG_WINDOW, "GEDIT: ICONS_BOTH_HORIZ");
+			gtk_toolbar_set_style (
+					GTK_TOOLBAR (toolbar),
+					GTK_TOOLBAR_BOTH_HORIZ);
+			break;
+	}
+}
+
 /* Returns TRUE if toolbar is visible */
 static gboolean
 set_toolbar_style (GeditWindow *window,
@@ -467,36 +509,8 @@
 		style = origin->priv->toolbar_style;
 	
 	window->priv->toolbar_style = style;
-
-	switch (style)
-	{
-		case GEDIT_TOOLBAR_SYSTEM:
-			gedit_debug_message (DEBUG_WINDOW, "GEDIT: SYSTEM");
-			gtk_toolbar_unset_style (
-					GTK_TOOLBAR (window->priv->toolbar));
-			break;
-
-		case GEDIT_TOOLBAR_ICONS:
-			gedit_debug_message (DEBUG_WINDOW, "GEDIT: ICONS");
-			gtk_toolbar_set_style (
-					GTK_TOOLBAR (window->priv->toolbar),
-					GTK_TOOLBAR_ICONS);
-			break;
-
-		case GEDIT_TOOLBAR_ICONS_AND_TEXT:
-			gedit_debug_message (DEBUG_WINDOW, "GEDIT: ICONS_AND_TEXT");
-			gtk_toolbar_set_style (
-					GTK_TOOLBAR (window->priv->toolbar),
-					GTK_TOOLBAR_BOTH);			
-			break;
-
-		case GEDIT_TOOLBAR_ICONS_BOTH_HORIZ:
-			gedit_debug_message (DEBUG_WINDOW, "GEDIT: ICONS_BOTH_HORIZ");
-			gtk_toolbar_set_style (
-					GTK_TOOLBAR (window->priv->toolbar),
-					GTK_TOOLBAR_BOTH_HORIZ);	
-			break;       
-	}
+	
+	apply_toolbar_style (window, window->priv->toolbar);
 	
 	return visible;
 }
@@ -1310,6 +1324,62 @@
 		gtk_toggle_action_set_active (GTK_TOGGLE_ACTION (action), visible);
 }
 
+static GtkWidget *
+setup_toolbar_open_button (GeditWindow *window,
+			   GtkWidget *toolbar)
+{
+	GtkRecentManager *recent_manager;
+	GtkRecentFilter *filter;
+	GtkWidget *toolbar_recent_menu;
+	GtkToolItem *open_button;
+	GtkAction *action;
+
+	recent_manager = gtk_recent_manager_get_default ();
+
+	/* recent files menu tool button */
+	toolbar_recent_menu = gtk_recent_chooser_menu_new_for_manager (recent_manager);
+
+	gtk_recent_chooser_set_local_only (GTK_RECENT_CHOOSER (toolbar_recent_menu),
+					   FALSE);
+	gtk_recent_chooser_set_sort_type (GTK_RECENT_CHOOSER (toolbar_recent_menu),
+					  GTK_RECENT_SORT_MRU);
+	gtk_recent_chooser_set_limit (GTK_RECENT_CHOOSER (toolbar_recent_menu),
+				      gedit_prefs_manager_get_max_recents ());
+
+	filter = gtk_recent_filter_new ();
+	gtk_recent_filter_add_group (filter, "gedit");
+	gtk_recent_chooser_set_filter (GTK_RECENT_CHOOSER (toolbar_recent_menu),
+				       filter);
+
+	g_signal_connect (toolbar_recent_menu,
+			  "item_activated",
+			  G_CALLBACK (recent_chooser_item_activated),
+			  window);
+	
+	/* add the custom Open button to the toolbar */
+	open_button = gtk_menu_tool_button_new_from_stock (GTK_STOCK_OPEN);
+	gtk_menu_tool_button_set_menu (GTK_MENU_TOOL_BUTTON (open_button),
+				       toolbar_recent_menu);
+
+	gtk_tool_item_set_tooltip_text (open_button, _("Open a file"));
+	gtk_menu_tool_button_set_arrow_tooltip_text (GTK_MENU_TOOL_BUTTON (open_button),
+						     _("Open a recently used file"));
+
+	action = gtk_action_group_get_action (window->priv->always_sensitive_action_group,
+					      "FileOpen");
+	g_object_set (action,
+		      "is_important", TRUE,
+		      "short_label", _("Open"),
+		      NULL);
+	gtk_action_connect_proxy (action, GTK_WIDGET (open_button));
+
+	gtk_toolbar_insert (GTK_TOOLBAR (toolbar),
+			    open_button,
+			    1);
+	
+	return toolbar_recent_menu;
+}
+
 static void
 create_menu_bar_and_toolbar (GeditWindow *window, 
 			     GtkWidget   *main_box)
@@ -1318,9 +1388,7 @@
 	GtkAction *action;
 	GtkUIManager *manager;
 	GtkWidget *menubar;
-	GtkToolItem *open_button;
 	GtkRecentManager *recent_manager;
-	GtkRecentFilter *filter;
 	GError *error = NULL;
 	GeditLockdownMask lockdown;
 	gchar *ui_file;
@@ -1429,26 +1497,6 @@
 							     window);
 	update_recent_files_menu (window);
 
-	/* recent files menu tool button */
-	window->priv->toolbar_recent_menu = gtk_recent_chooser_menu_new_for_manager (recent_manager);
-
-	gtk_recent_chooser_set_local_only (GTK_RECENT_CHOOSER (window->priv->toolbar_recent_menu),
-					   FALSE);
-	gtk_recent_chooser_set_sort_type (GTK_RECENT_CHOOSER (window->priv->toolbar_recent_menu),
-					  GTK_RECENT_SORT_MRU);
-	gtk_recent_chooser_set_limit (GTK_RECENT_CHOOSER (window->priv->toolbar_recent_menu),
-				      gedit_prefs_manager_get_max_recents ());
-
-	filter = gtk_recent_filter_new ();
-	gtk_recent_filter_add_group (filter, "gedit");
-	gtk_recent_chooser_set_filter (GTK_RECENT_CHOOSER (window->priv->toolbar_recent_menu),
-				       filter);
-
-	g_signal_connect (window->priv->toolbar_recent_menu,
-			  "item_activated",
-			  G_CALLBACK (recent_chooser_item_activated),
-			  window);
-
 	/* languages menu */
 	action_group = gtk_action_group_new ("LanguagesActions");
 	gtk_action_group_set_translation_domain (action_group, NULL);
@@ -1479,27 +1527,9 @@
 			    0);
 
 	set_toolbar_style (window, NULL);
-
-	/* add the custom Open button to the toolbar */
-	open_button = gtk_menu_tool_button_new_from_stock (GTK_STOCK_OPEN);
-	gtk_menu_tool_button_set_menu (GTK_MENU_TOOL_BUTTON (open_button),
-				       window->priv->toolbar_recent_menu);
-
-	gtk_tool_item_set_tooltip_text (open_button, _("Open a file"));
-	gtk_menu_tool_button_set_arrow_tooltip_text (GTK_MENU_TOOL_BUTTON (open_button),
-						     _("Open a recently used file"));
-
-	action = gtk_action_group_get_action (window->priv->always_sensitive_action_group,
-					      "FileOpen");
-	g_object_set (action,
-		      "is_important", TRUE,
-		      "short_label", _("Open"),
-		      NULL);
-	gtk_action_connect_proxy (action, GTK_WIDGET (open_button));
-
-	gtk_toolbar_insert (GTK_TOOLBAR (window->priv->toolbar),
-			    open_button,
-			    1);
+	
+	window->priv->toolbar_recent_menu = setup_toolbar_open_button (window,
+								       window->priv->toolbar);
 
 	gtk_container_foreach (GTK_CONTAINER (window->priv->toolbar),
 			       (GtkCallback)set_non_homogeneus,
@@ -2703,6 +2733,123 @@
 }
 
 static void
+fullscreen_controls_show (GeditWindow *window)
+{
+	GdkScreen *screen;
+	GdkRectangle fs_rect;
+	gint w, h;
+
+	screen = gtk_window_get_screen (GTK_WINDOW (window));
+	gdk_screen_get_monitor_geometry (screen,
+					 gdk_screen_get_monitor_at_window (screen, GTK_WIDGET (window)->window),
+					 &fs_rect);
+
+	gtk_window_get_size (GTK_WINDOW (window->priv->fullscreen_controls), &w, &h);
+
+	gtk_window_resize (GTK_WINDOW (window->priv->fullscreen_controls),
+			   fs_rect.width, h);
+
+	gtk_window_move (GTK_WINDOW (window->priv->fullscreen_controls),
+			 fs_rect.x, fs_rect.y - h + 1);
+
+	gtk_widget_show_all (window->priv->fullscreen_controls);
+}
+
+static gboolean
+on_fullscreen_controls_enter_notify_event (GtkWidget        *widget,
+					   GdkEventCrossing *event,
+					   GeditWindow      *window)
+{
+	GdkScreen *screen;
+	GdkRectangle fs_rect;
+
+	if (event->type != GDK_ENTER_NOTIFY)
+		return FALSE;
+
+	screen = gtk_window_get_screen (GTK_WINDOW (window));
+	gdk_screen_get_monitor_geometry (screen,
+					 gdk_screen_get_monitor_at_window (screen, GTK_WIDGET (window)->window),
+					 &fs_rect);
+
+	gtk_window_move (GTK_WINDOW (window->priv->fullscreen_controls),
+			 fs_rect.x, fs_rect.y);
+	return FALSE;
+}
+
+static gboolean
+on_fullscreen_controls_leave_notify_event (GtkWidget        *widget,
+					   GdkEventCrossing *event,
+					   GeditWindow      *window)
+{
+	GdkDisplay *display;
+	GdkScreen *screen;
+	GdkRectangle fs_rect;
+	gint w, h;
+	gint x, y;
+
+	display = gdk_display_get_default ();
+	screen = gtk_window_get_screen (GTK_WINDOW (window));
+	gdk_screen_get_monitor_geometry (screen,
+					 gdk_screen_get_monitor_at_window (screen, GTK_WIDGET (window)->window),
+					 &fs_rect);
+
+	gtk_window_get_size (GTK_WINDOW (window->priv->fullscreen_controls), &w, &h);
+	gdk_display_get_pointer (display, &screen, &x, &y, NULL);
+	
+	/* gtk seems to emit leave notify when clicking on tool items,
+	 * work around it by checking the coordinates
+	 */
+	if (y > h)
+		gtk_window_move (GTK_WINDOW (window->priv->fullscreen_controls),
+				 fs_rect.x, fs_rect.y - h + 1);
+	
+	return FALSE;
+}
+
+static void
+fullscreen_controls_build (GeditWindow *window)
+{
+	GeditWindowPrivate *priv = window->priv;
+	GtkWidget *toolbar;
+	GtkWidget *toolbar_recent_menu;
+	GtkAction *action;
+
+	if (priv->fullscreen_controls != NULL)
+		return;
+	
+	priv->fullscreen_controls = gtk_window_new (GTK_WINDOW_POPUP);
+
+	gtk_window_set_transient_for (GTK_WINDOW (priv->fullscreen_controls),
+				      &window->window);
+	
+	/* popup toolbar */
+	toolbar = gtk_ui_manager_get_widget (priv->manager, "/FullscreenToolBar");
+	gtk_container_add (GTK_CONTAINER (priv->fullscreen_controls),
+			   toolbar);
+	
+	action = gtk_action_group_get_action (priv->always_sensitive_action_group,
+					      "LeaveFullscreen");
+	g_object_set (action, "is-important", TRUE, NULL);
+	
+	toolbar_recent_menu = setup_toolbar_open_button (window, toolbar);
+
+	gtk_container_foreach (GTK_CONTAINER (toolbar),
+			       (GtkCallback)set_non_homogeneus,
+			       NULL);
+
+	/* Set the toolbar style */
+	gtk_toolbar_set_style (GTK_TOOLBAR (toolbar),
+			       GTK_TOOLBAR_BOTH_HORIZ);
+
+	g_signal_connect (priv->fullscreen_controls, "enter-notify-event",
+			  G_CALLBACK (on_fullscreen_controls_enter_notify_event),
+			  window);
+	g_signal_connect (priv->fullscreen_controls, "leave-notify-event",
+			  G_CALLBACK (on_fullscreen_controls_leave_notify_event),
+			  window);
+}
+
+static void
 can_search_again (GeditDocument *doc,
 		  GParamSpec    *pspec,
 		  GeditWindow   *window)
@@ -3450,6 +3597,7 @@
 	window->priv->removing_tabs = FALSE;
 	window->priv->state = GEDIT_WINDOW_STATE_NORMAL;
 	window->priv->dispose_has_run = FALSE;
+	window->priv->fullscreen_controls = NULL;
 
 	window->priv->message_bus = gedit_message_bus_new ();
 
@@ -4144,6 +4292,93 @@
 	}
 }
 
+static void
+hide_notebook_tabs_on_fullscreen (GtkNotebook	*notebook, 
+				  GParamSpec	*pspec,
+				  GeditWindow	*window)
+{
+	gtk_notebook_set_show_tabs (notebook, FALSE);
+}
+
+void
+_gedit_window_fullscreen (GeditWindow *window)
+{
+	g_return_if_fail (GEDIT_IS_WINDOW (window));
+
+	if (_gedit_window_is_fullscreen (window))
+		return;
+
+	/* Go to fullscreen mode and hide bars */
+	gtk_window_fullscreen (&window->window);
+	gtk_notebook_set_show_tabs (GTK_NOTEBOOK (window->priv->notebook), FALSE);
+	g_signal_connect (window->priv->notebook, "notify::show-tabs",
+			  G_CALLBACK (hide_notebook_tabs_on_fullscreen), window);
+	
+	gtk_widget_hide (gtk_ui_manager_get_widget (window->priv->manager,
+			 "/MenuBar"));
+	
+	g_signal_handlers_block_by_func (window->priv->toolbar,
+					 toolbar_visibility_changed,
+					 window);
+	gtk_widget_hide (window->priv->toolbar);
+	
+	g_signal_handlers_block_by_func (window->priv->statusbar,
+					 statusbar_visibility_changed,
+					 window);
+	gtk_widget_hide (window->priv->statusbar);
+
+	fullscreen_controls_build (window);
+	fullscreen_controls_show (window);
+}
+
+void
+_gedit_window_unfullscreen (GeditWindow *window)
+{
+	gboolean visible;
+	GtkAction *action;
+
+	g_return_if_fail (GEDIT_IS_WINDOW (window));
+
+	if (!_gedit_window_is_fullscreen (window))
+		return;
+
+	/* Unfullscreen and show bars */
+	gtk_window_unfullscreen (&window->window);
+	g_signal_handlers_disconnect_by_func (window->priv->notebook,
+					      hide_notebook_tabs_on_fullscreen,
+					      window);
+	gtk_notebook_set_show_tabs (GTK_NOTEBOOK (window->priv->notebook), TRUE);
+	gtk_widget_show (gtk_ui_manager_get_widget (window->priv->manager, "/MenuBar"));
+	
+	action = gtk_action_group_get_action (window->priv->always_sensitive_action_group,
+					      "ViewToolbar");
+	visible = gtk_toggle_action_get_active (GTK_TOGGLE_ACTION (action));
+	if (visible)
+		gtk_widget_show (window->priv->toolbar);
+	g_signal_handlers_unblock_by_func (window->priv->toolbar,
+					   toolbar_visibility_changed,
+					   window);
+	
+	action = gtk_action_group_get_action (window->priv->always_sensitive_action_group,
+					      "ViewStatusbar");
+	visible = gtk_toggle_action_get_active (GTK_TOGGLE_ACTION (action));
+	if (visible)
+		gtk_widget_show (window->priv->statusbar);
+	g_signal_handlers_unblock_by_func (window->priv->statusbar,
+					   statusbar_visibility_changed,
+					   window);
+
+	gtk_widget_hide (window->priv->fullscreen_controls);
+}
+
+gboolean
+_gedit_window_is_fullscreen (GeditWindow *window)
+{
+	g_return_val_if_fail (GEDIT_IS_WINDOW (window), FALSE);
+
+	return window->priv->window_state & GDK_WINDOW_STATE_FULLSCREEN;
+}
+
 /**
  * gedit_window_get_tab_from_location:
  * @window: a #GeditWindow

Modified: trunk/gedit/gedit-window.h
==============================================================================
--- trunk/gedit/gedit-window.h	(original)
+++ trunk/gedit/gedit-window.h	Wed Jan  7 14:56:55 2009
@@ -178,6 +178,12 @@
 void		 _gedit_window_set_saving_session_state	(GeditWindow         *window,
 							 gboolean             saving_session);
 
+void		 _gedit_window_fullscreen		(GeditWindow         *window);
+
+void		 _gedit_window_unfullscreen		(GeditWindow         *window);
+
+gboolean	 _gedit_window_is_fullscreen		(GeditWindow         *window);
+
 /* these are in gedit-window because of screen safety */
 void		 _gedit_recent_add			(GeditWindow	     *window,
 							 const gchar         *uri,



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