gnome-commander r1616 - in branches/gcmd-1-3: . doc/C src



Author: epiotr
Date: Tue Mar  4 18:07:46 2008
New Revision: 1616
URL: http://svn.gnome.org/viewvc/gnome-commander?rev=1616&view=rev

Log:
Added "Start GNOME Commander as root" action to menu and user actions

Modified:
   branches/gcmd-1-3/ChangeLog
   branches/gcmd-1-3/doc/C/gnome-commander.xml
   branches/gcmd-1-3/src/gnome-cmd-main-menu.cc
   branches/gcmd-1-3/src/gnome-cmd-main-win.cc
   branches/gcmd-1-3/src/gnome-cmd-user-actions.cc
   branches/gcmd-1-3/src/gnome-cmd-user-actions.h

Modified: branches/gcmd-1-3/doc/C/gnome-commander.xml
==============================================================================
--- branches/gcmd-1-3/doc/C/gnome-commander.xml	(original)
+++ branches/gcmd-1-3/doc/C/gnome-commander.xml	Tue Mar  4 18:07:46 2008
@@ -4195,6 +4195,15 @@
                         <entry><para></para></entry>
                     </row>
                     <row valign="top">
+                        <entry><para>command.root_mode</para></entry>
+                        <entry><para>Start &app; in root mode at the same location</para></entry>
+                                <warning>
+                                    <para>Be careful while running &app; with root privileges
+                                          as you may damage your system.</para>
+                                </warning>
+                        <entry><para></para></entry>
+                    </row>
+                    <row valign="top">
                         <entry><para>connections.close</para></entry>
                         <entry><para>Disconnect from remote server</para></entry>
                         <entry><para><keycombo><keycap>CTRL</keycap><keycap>SHIFT</keycap><keycap>F</keycap></keycombo></para></entry>

Modified: branches/gcmd-1-3/src/gnome-cmd-main-menu.cc
==============================================================================
--- branches/gcmd-1-3/src/gnome-cmd-main-menu.cc	(original)
+++ branches/gcmd-1-3/src/gnome-cmd-main-menu.cc	Tue Mar  4 18:07:46 2008
@@ -479,6 +479,13 @@
         },
         MENUTYPE_SEPARATOR,
         {
+            MENU_TYPE_ITEM, _("Start _GNOME Commander as Root"), "", NULL,
+            (gpointer) command_root_mode, NULL,
+            GNOME_APP_PIXMAP_STOCK, GTK_STOCK_DIALOG_AUTHENTICATION,
+            NULL
+        },
+        MENUTYPE_SEPARATOR,
+        {
             MENU_TYPE_ITEM, _("_Quit"), "Ctrl+Q", NULL,
             (gpointer) file_exit, NULL,
             GNOME_APP_PIXMAP_STOCK, GNOME_STOCK_MENU_QUIT,

Modified: branches/gcmd-1-3/src/gnome-cmd-main-win.cc
==============================================================================
--- branches/gcmd-1-3/src/gnome-cmd-main-win.cc	(original)
+++ branches/gcmd-1-3/src/gnome-cmd-main-win.cc	Tue Mar  4 18:07:46 2008
@@ -761,7 +761,8 @@
     mw->priv->file_selector[LEFT] = NULL;
     mw->priv->file_selector[RIGHT] = NULL;
 
-    gnome_app_construct (GNOME_APP (main_win), "gnome-commander", "GNOME Commander");
+    gnome_app_construct (GNOME_APP (main_win), "gnome-commander", geteuid() ? _("GNOME Commander") :
+                                                                              _("GNOME Commander - ROOT PRIVILEGES"));
     gtk_object_set_data (GTK_OBJECT (main_win), "main_win", main_win);
     restore_size_and_pos (mw);
     gtk_window_set_policy (GTK_WINDOW (main_win), TRUE, TRUE, FALSE);

Modified: branches/gcmd-1-3/src/gnome-cmd-user-actions.cc
==============================================================================
--- branches/gcmd-1-3/src/gnome-cmd-user-actions.cc	(original)
+++ branches/gcmd-1-3/src/gnome-cmd-user-actions.cc	Tue Mar  4 18:07:46 2008
@@ -208,6 +208,7 @@
     actions.add(bookmarks_edit, "bookmarks.edit");
     actions.add(bookmarks_goto, "bookmarks.goto");
     actions.add(command_open_terminal, "command.open_terminal");
+    actions.add(command_root_mode, "command.root_mode");
     actions.add(connections_close_current, "connections.close");
     actions.add(connections_new, "connections.new");
     actions.add(connections_open, "connections.open");
@@ -939,6 +940,37 @@
 }
 
 
+void command_root_mode (GtkMenuItem *menuitem, gpointer not_used)
+{
+    char *su;
+
+    su = g_find_program_in_path ("gksudo");
+    if  (!su)
+        su = g_find_program_in_path ("gksu");
+    if  (!su)
+        su = g_find_program_in_path ("kdesu");
+
+    if  (!su)
+    {
+        gnome_cmd_show_message (NULL, _("gksu or kdesu is not found."));
+        return ;
+    }
+
+    char *argv[3];
+
+    argv[0] = su;
+    argv[1] = g_get_prgname ();
+    argv[2] = NULL;
+
+    GError *error = NULL;
+
+    if (!g_spawn_async (NULL, argv, NULL, GSpawnFlags (G_SPAWN_STDOUT_TO_DEV_NULL | G_SPAWN_STDERR_TO_DEV_NULL), NULL, NULL, NULL, &error))
+        gnome_cmd_error_message (_("Unable to start GNOME Commander in root mode."), error);
+
+    g_free (su);
+}
+
+
 /************** Mark Menu **************/
 void mark_toggle (GtkMenuItem *menuitem, gpointer not_used)
 {

Modified: branches/gcmd-1-3/src/gnome-cmd-user-actions.h
==============================================================================
--- branches/gcmd-1-3/src/gnome-cmd-user-actions.h	(original)
+++ branches/gcmd-1-3/src/gnome-cmd-user-actions.h	Tue Mar  4 18:07:46 2008
@@ -134,6 +134,7 @@
 
 /************** Command Menu **************/
 GNOME_CMD_USER_ACTION(command_open_terminal);
+GNOME_CMD_USER_ACTION(command_root_mode);
 
 /************** View Menu **************/
 GNOME_CMD_USER_ACTION(view_conbuttons);



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