Git-Url: 
http://git.frugalware.org/gitweb/gitweb.cgi?p=gfpm/.git;a=commitdiff;h=1c927997ea2ac195727df264c9454bfefdb48063

commit 1c927997ea2ac195727df264c9454bfefdb48063
Author: Priyank <[EMAIL PROTECTED]>
Date:   Sun Jul 29 21:50:57 2007 +0530

gfpm-interface: allow skipping dependency checks while removing/installing 
packages.

diff --git a/glade/gfpm.glade b/glade/gfpm.glade
index 8d22597..4daef3b 100644
--- a/glade/gfpm.glade
+++ b/glade/gfpm.glade
@@ -903,12 +903,47 @@ Installed packages</property>
<property name="position">2</property>
</packing>
</child>
+                <child>
+                  <widget class="GtkHBox" id="hbox4">
+                    <property name="visible">True</property>
+                    <property name="events">GDK_POINTER_MOTION_MASK | 
GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | 
GDK_BUTTON_RELEASE_MASK</property>
+                    <child>
+                      <widget class="GtkCheckButton" id="applyinstdepcheck">
+                        <property name="visible">True</property>
+                        <property name="can_focus">True</property>
+                        <property name="events">GDK_POINTER_MOTION_MASK | 
GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | 
GDK_BUTTON_RELEASE_MASK</property>
+                        <property name="label" translatable="yes">Skip 
dependency checks</property>
+                        <property name="response_id">0</property>
+                        <property name="draw_indicator">True</property>
+                      </widget>
+                    </child>
+                    <child>
+                      <placeholder/>
+                    </child>
+                    <child>
+                      <placeholder/>
+                    </child>
+                  </widget>
+                  <packing>
+                    <property name="position">3</property>
+                  </packing>
+                </child>
</widget>
<packing>
<property name="position">1</property>
</packing>
</child>
<child>
+              <widget class="GtkHSeparator" id="hseparator1">
+                <property name="visible">True</property>
+                <property name="events">GDK_POINTER_MOTION_MASK | 
GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | 
GDK_BUTTON_RELEASE_MASK</property>
+              </widget>
+              <packing>
+                <property name="expand">False</property>
+                <property name="position">2</property>
+              </packing>
+            </child>
+            <child>
<widget class="GtkVBox" id="rembox">
<property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK 
| GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
<property name="spacing">2</property>
@@ -960,9 +995,34 @@ Installed packages</property>
<property name="position">2</property>
</packing>
</child>
+                <child>
+                  <widget class="GtkHBox" id="hbox5">
+                    <property name="visible">True</property>
+                    <property name="events">GDK_POINTER_MOTION_MASK | 
GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | 
GDK_BUTTON_RELEASE_MASK</property>
+                    <child>
+                      <widget class="GtkCheckButton" id="applyremdepcheck">
+                        <property name="visible">True</property>
+                        <property name="can_focus">True</property>
+                        <property name="events">GDK_POINTER_MOTION_MASK | 
GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | 
GDK_BUTTON_RELEASE_MASK</property>
+                        <property name="label" translatable="yes">Skip 
dependency checks</property>
+                        <property name="response_id">0</property>
+                        <property name="draw_indicator">True</property>
+                      </widget>
+                    </child>
+                    <child>
+                      <placeholder/>
+                    </child>
+                    <child>
+                      <placeholder/>
+                    </child>
+                  </widget>
+                  <packing>
+                    <property name="position">3</property>
+                  </packing>
+                </child>
</widget>
<packing>
-                <property name="position">2</property>
+                <property name="position">3</property>
</packing>
</child>
</widget>
diff --git a/src/gfpm-interface.c b/src/gfpm-interface.c
index 5805e11..d648477 100644
--- a/src/gfpm-interface.c
+++ b/src/gfpm-interface.c
@@ -60,6 +60,8 @@ static GtkWidget *gfpm_inst_filechooser;
static GtkWidget *gfpm_inst_upgcheck;
static GtkWidget *gfpm_inst_depcheck;
static GtkWidget *gfpm_inst_forcheck;
+static GtkWidget *gfpm_apply_inst_depcheck;
+static GtkWidget *gfpm_apply_rem_depcheck;

static void cb_gfpm_repos_combo_changed (GtkComboBox *combo, gpointer data);
static void cb_gfpm_groups_tvw_selected (GtkTreeSelection *selection, gpointer 
data);
@@ -94,6 +96,8 @@ gfpm_interface_init (void)
gfpm_inst_depcheck = glade_xml_get_widget (xml, "depcheck");
gfpm_inst_upgcheck = glade_xml_get_widget (xml, "upgcheck");
gfpm_inst_forcheck = glade_xml_get_widget (xml, "forcheck");
+       gfpm_apply_inst_depcheck = glade_xml_get_widget (xml, 
"applyinstdepcheck");
+       gfpm_apply_rem_depcheck = glade_xml_get_widget (xml, 
"applyremdepcheck");

/* Setup repository combobox */
widget = glade_xml_get_widget (xml, "combobox_repos");
@@ -262,7 +266,11 @@ cb_gfpm_apply_btn_clicked (GtkButton *button, gpointer 
data)
/* process remove list first */
if (gfpm_package_list_is_empty(GFPM_REMOVE_LIST))
{
-               if (pacman_trans_init(PM_TRANS_TYPE_REMOVE, 0, 
gfpm_progress_event, NULL, gfpm_progress_install) == -1)
+               gint flags = 0;
+               if 
(gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(gfpm_apply_rem_depcheck)))
+                       flags |= PM_TRANS_FLAG_NODEPS;
+               /* create transaction */
+               if (pacman_trans_init(PM_TRANS_TYPE_REMOVE, flags, 
gfpm_progress_event, NULL, gfpm_progress_install) == -1)
{
gchar *str;
str = g_strdup_printf (_("Failed to init transaction (%s)\n"), 
pacman_strerror(pm_errno));
@@ -293,8 +301,11 @@ cb_gfpm_apply_btn_clicked (GtkButton *button, gpointer 
data)
}
if (gfpm_package_list_is_empty(GFPM_INSTALL_LIST))
{
+               gint flags = 0;
+               if 
(gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(gfpm_apply_inst_depcheck)))
+                       flags |= PM_TRANS_FLAG_NODEPS;
/* create transaction */
-               if (pacman_trans_init(PM_TRANS_TYPE_SYNC, 0, 
gfpm_progress_event, NULL, gfpm_progress_install) == -1)
+               if (pacman_trans_init(PM_TRANS_TYPE_SYNC, flags, 
gfpm_progress_event, NULL, gfpm_progress_install) == -1)
{
gchar *str;
str = g_strdup_printf (_("Failed to init transaction (%s)\n"), 
pacman_strerror(pm_errno));
_______________________________________________
Frugalware-git mailing list
[email protected]
http://frugalware.org/mailman/listinfo/frugalware-git

Reply via email to