Репозитории ALT
S: | 1.0.4-alt5 |
5.1: | 1.0.4-alt1 |
4.1: | 0.99-alt2.svn20080309 |
4.0: | 0.98.2-alt2 |
3.0: | 0.95-alt1 |
Группа :: Сети/Передача файлов
Пакет: gwget
Главная Изменения Спек Патчи Sources Загрузить Gear Bugs and FR Repocop
Патч: gwget-1.0.4-alt-fixes.patch
Скачать
Скачать
configure.ac | 23 +-
data/Makefile.am | 15 +-
data/gwget.schemas.in | 402 ---------------------------------
data/gwget.ui | 4 +-
data/org.gwget.gschema.xml | 145 ++++++++++++
po/POTFILES.in | 1 -
src/Makefile.am | 2 -
src/custom-cell-renderer-progressbar.c | 4 +-
src/gwget-application.c | 46 +---
src/gwget_data.c | 20 +-
src/gwget_data.h | 3 +-
src/main.c | 24 +-
src/main_window.c | 291 +++++++++---------------
src/main_window.h | 9 +-
src/main_window_cb.c | 137 ++++++-----
src/new_window.c | 29 ++-
src/systray.c | 29 +--
src/systray.h | 4 +
src/utils.c | 7 +-
src/wget-log.c | 7 +-
20 files changed, 423 insertions(+), 779 deletions(-)
diff --git a/configure.ac b/configure.ac
index 8ebee12..450001b 100644
--- a/configure.ac
+++ b/configure.ac
@@ -4,7 +4,7 @@ AC_INIT(configure.ac)
AM_INIT_AUTOMAKE(gwget, 1.0.4)
AM_CONFIG_HEADER(config.h)
-AC_PATH_PROG(GCONFTOOL, gconftool-2)
+GLIB_GSETTINGS
IT_PROG_INTLTOOL([0.35.0])
AC_ISC_POSIX
@@ -12,17 +12,24 @@ AC_PROG_CC
AC_STDC_HEADERS
AM_PROG_LIBTOOL
-AM_GCONF_SOURCE_2
+AC_ARG_ENABLE([gtk3],
+ [AC_HELP_STRING([--enable-gtk3],
+ [compile gwget against gtk+ 3.0 (default: yes)])],
+ [enable_gtk3="${enableval}"],
+ [enable_gtk3="yes"]
+)
+
+if test x"$enable_gtk3" = x"yes"; then
+ GTK_API_VERSION="3.0"
+else
+ GTK_API_VERSION="2.0"
+fi
-LIBGNOMEUI_REQUIRED=2.0.0
-LIBGNOME_REQUIRED=2.0.0
GTK_REQUIRED=2.6.0
-GCONF_REQUIRED=1.1.11
DBUS_GLIB_REQUIRED=0.33
GIO_REQUIRED=2.16.0
-PKG_CHECK_MODULES(GNOME, libgnomeui-2.0 >= $LIBGNOMEUI_REQUIRED
- gtk+-2.0 >= $GTK_REQUIRED
+PKG_CHECK_MODULES(GNOME, gtk+-$GTK_API_VERSION >= $GTK_REQUIRED
gmodule-2.0
gio-unix-2.0 >= $GIO_REQUIRED)
@@ -282,7 +289,7 @@ AM_CONDITIONAL(ENABLE_EPIPHANY_EXTENSION, test "x$enable_epiphany_extension" = "
#
# Check for libnotify
#
-LIBNOTIFY_REQUIRED=0.2.2
+LIBNOTIFY_REQUIRED=0.7.0
AC_ARG_ENABLE(libnotify,
AC_HELP_STRING([--disable-libnotify],
[Disable libnotify support]),,
diff --git a/data/Makefile.am b/data/Makefile.am
index 381ec99..3feb349 100644
--- a/data/Makefile.am
+++ b/data/Makefile.am
@@ -16,10 +16,8 @@ service_DATA = $(service_in_files:.service.in=.service)
$(service_DATA): $(service_in_files) Makefile
@sed -e "s|\@bindir\@|$(bindir)|" $< > $@
-schemasdir = $(GCONF_SCHEMA_FILE_DIR)
-schemas_in_files = gwget.schemas.in
-schemas_DATA = $(schemas_in_files:.schemas.in=.schemas)
-@INTLTOOL_SCHEMAS_RULE@
+gsettings_SCHEMAS = org.gwget.gschema.xml
+@GSETTINGS_RULES@
desktopdir = $(datadir)/applications
desktop_in_files = gwget.desktop.in.in
@@ -30,17 +28,10 @@ desktop_DATA =$(desktop_in_files:.desktop.in.in=.desktop)
@INTLTOOL_DESKTOP_RULE@
-if GCONF_SCHEMAS_INSTALL
-install-data-local:
- GCONF_CONFIG_SOURCE=$(GCONF_SCHEMA_CONFIG_SOURCE) $(GCONFTOOL) --makefile-install-rule gwget.schemas
-else
-install-data-local:
-endif
-
EXTRA_DIST = $(gwget_data_DATA) \
$(service_in_files) \
$(desktop_in_files) \
- $(schemas_in_files)
+ $(gsettings_SCHEMAS)
DISTCLEANFILES = \
$(desktop_DATA)
diff --git a/data/gwget.schemas.in b/data/gwget.schemas.in
deleted file mode 100644
index 538f6d6..0000000
--- a/data/gwget.schemas.in
+++ /dev/null
@@ -1,402 +0,0 @@
-<gconfschemafile>
- <schemalist>
-
- <schema>
- <key>/schemas/apps/gwget2/convert_links</key>
- <applyto>/apps/gwget2/convert_links</applyto>
- <owner>gwget</owner>
- <type>bool</type>
- <default>false</default>
- <locale name="C">
- <short>Convert Links</short>
- <long>Convert to relative links in recursive mode.</long>
- </locale>
- </schema>
-
- <schema>
- <key>/schemas/apps/gwget2/default_height</key>
- <applyto>/apps/gwget2/default_height</applyto>
- <owner>gwget</owner>
- <type>int</type>
- <default>200</default>
- <locale name="C">
- <short></short>
- <long></long>
- </locale>
- </schema>
-
- <schema>
- <key>/schemas/apps/gwget2/default_width</key>
- <applyto>/apps/gwget2/default_width</applyto>
- <owner>gwget</owner>
- <type>int</type>
- <default>250</default>
- <locale name="C">
- <short></short>
- <long></long>
- </locale>
- </schema>
-
- <schema>
- <key>/schemas/apps/gwget2/dl_page_requisites</key>
- <applyto>/apps/gwget2/dl_page_requisites</applyto>
- <owner>gwget</owner>
- <type>bool</type>
- <default>false</default>
- <locale name="C">
- <short>Download Page Requisites</short>
- <long></long>
- </locale>
- </schema>
-
- <schema>
- <key>/schemas/apps/gwget2/download_dir</key>
- <applyto>/apps/gwget2/download_dir</applyto>
- <owner>gwget</owner>
- <type>string</type>
- <default></default>
- <locale name="C">
- <short>Default Download Directory</short>
- <long></long>
- </locale>
- </schema>
-
- <schema>
- <key>/schemas/apps/gwget2/ask_save_each_dl</key>
- <applyto>/apps/gwget2/ask_save_each_dl</applyto>
- <owner>gwget</owner>
- <type>bool</type>
- <default>true</default>
- <locale name="C">
- <short>Ask where to save each new download</short>
- <long>If true, always ask for a destination folder when starting a new download. If false, always save in the default directory without asking the user.</long>
- </locale>
- </schema>
-
-
- <schema>
- <key>/schemas/apps/gwget2/follow_relative</key>
- <applyto>/apps/gwget2/follow_relative</applyto>
- <owner>gwget</owner>
- <type>bool</type>
- <default>false</default>
- <locale name="C">
- <short>Follow relative links</short>
- <long></long>
- </locale>
- </schema>
-
- <schema>
- <key>/schemas/apps/gwget2/limit_speed</key>
- <applyto>/apps/gwget2/limit_speed</applyto>
- <owner>gwget</owner>
- <type>bool</type>
- <default>false</default>
- <locale name="C">
- <short>Limit maximum speed</short>
- <long></long>
- </locale>
- </schema>
-
- <schema>
- <key>/schemas/apps/gwget2/limit_simultaneousdownloads</key>
- <applyto>/apps/gwget2/limit_simultaneousdownloads</applyto>
- <owner>gwget</owner>
- <type>bool</type>
- <default>false</default>
- <locale name="C">
- <short>Limit number of simultaneous downloads</short>
- <long></long>
- </locale>
- </schema>
-
- <schema>
- <key>/schemas/apps/gwget2/max_depth</key>
- <applyto>/apps/gwget2/max_depth</applyto>
- <owner>gwget</owner>
- <type>int</type>
- <default>0</default>
- <locale name="C">
- <short>Maximum depth in recursive mode</short>
- <long></long>
- </locale>
- </schema>
-
- <schema>
- <key>/schemas/apps/gwget2/max_speed</key>
- <applyto>/apps/gwget2/max_speed</applyto>
- <owner>gwget</owner>
- <type>int</type>
- <default>0</default>
- <locale name="C">
- <short>Maximum speed limit</short>
- <long></long>
- </locale>
- </schema>
-
- <schema>
- <key>/schemas/apps/gwget2/max_simultaneousdownloads</key>
- <applyto>/apps/gwget2/max_simultaneousdownloads</applyto>
- <owner>gwget</owner>
- <type>int</type>
- <default>0</default>
- <locale name="C">
- <short>Maximum number of simultaneous downloads</short>
- <long></long>
- </locale>
- </schema>
-
- <schema>
- <key>/schemas/apps/gwget2/n_downloads</key>
- <applyto>/apps/gwget2/n_downloads</applyto>
- <owner>gwget</owner>
- <type>int</type>
- <default>0</default>
- <locale name="C">
- <short>Number of downloads</short>
- <long></long>
- </locale>
- </schema>
-
- <schema>
- <key>/schemas/apps/gwget2/no_create_directories</key>
- <applyto>/apps/gwget2/no_create_directories</applyto>
- <owner>gwget</owner>
- <type>bool</type>
- <default>false</default>
- <locale name="C">
- <short></short>
- <long></long>
- </locale>
- </schema>
-
- <schema>
- <key>/schemas/apps/gwget2/num_retrys</key>
- <applyto>/apps/gwget2/num_retrys</applyto>
- <owner>gwget</owner>
- <type>int</type>
- <default>3</default>
- <locale name="C">
- <short>Number of retries</short>
- <long></long>
- </locale>
- </schema>
-
- <schema>
- <key>/schemas/apps/gwget2/position_x</key>
- <applyto>/apps/gwget2/position_x</applyto>
- <owner>gwget</owner>
- <type>int</type>
- <default>0</default>
- <locale name="C">
- <short></short>
- <long></long>
- </locale>
- </schema>
-
- <schema>
- <key>/schemas/apps/gwget2/position_y</key>
- <applyto>/apps/gwget2/position_y</applyto>
- <owner>gwget</owner>
- <type>int</type>
- <default>0</default>
- <locale name="C">
- <short></short>
- <long></long>
- </locale>
- </schema>
-
- <schema>
- <key>/schemas/apps/gwget2/resume_at_start</key>
- <applyto>/apps/gwget2/resume_at_start</applyto>
- <owner>gwget</owner>
- <type>bool</type>
- <default>false</default>
- <locale name="C">
- <short>Resume downloads at startup</short>
- <long></long>
- </locale>
- </schema>
-
- <schema>
- <key>/schemas/apps/gwget2/open_after_dl</key>
- <applyto>/apps/gwget2/open_after_dl</applyto>
- <owner>gwget</owner>
- <type>bool</type>
- <default>false</default>
- <locale name="C">
- <short>Open the file after download</short>
- <long></long>
- </locale>
- </schema>
-
- <schema>
- <key>/schemas/apps/gwget2/view_actual_size</key>
- <applyto>/apps/gwget2/view_actual_size</applyto>
- <owner>gwget</owner>
- <type>bool</type>
- <default>true</default>
- <locale name="C">
- <short></short>
- <long></long>
- </locale>
- </schema>
-
- <schema>
- <key>/schemas/apps/gwget2/view_down_speed</key>
- <applyto>/apps/gwget2/view_down_speed</applyto>
- <owner>gwget</owner>
- <type>bool</type>
- <default>true</default>
- <locale name="C">
- <short>View download speed column</short>
- <long></long>
- </locale>
- </schema>
-
- <schema>
- <key>/schemas/apps/gwget2/view_elapse_time</key>
- <applyto>/apps/gwget2/view_elapse_time</applyto>
- <owner>gwget</owner>
- <type>bool</type>
- <default>false</default>
- <locale name="C">
- <short>View elapsed time column</short>
- <long></long>
- </locale>
- </schema>
-
- <schema>
- <key>/schemas/apps/gwget2/view_percentage</key>
- <applyto>/apps/gwget2/view_percentage</applyto>
- <owner>gwget</owner>
- <type>bool</type>
- <default>true</default>
- <locale name="C">
- <short>View percentage column</short>
- <long></long>
- </locale>
- </schema>
-
- <schema>
- <key>/schemas/apps/gwget2/view_rem_time</key>
- <applyto>/apps/gwget2/view_rem_time</applyto>
- <owner>gwget</owner>
- <type>bool</type>
- <default>true</default>
- <locale name="C">
- <short>View remaining time column</short>
- <long></long>
- </locale>
- </schema>
-
- <schema>
- <key>/schemas/apps/gwget2/view_toolbar</key>
- <applyto>/apps/gwget2/view_toolbar</applyto>
- <owner>gwget</owner>
- <type>bool</type>
- <default>true</default>
- <locale name="C">
- <short>View toolbar</short>
- <long>Whether to display the toolbar.</long>
- </locale>
- </schema>
-
- <schema>
- <key>/schemas/apps/gwget2/view_statusbar</key>
- <applyto>/apps/gwget2/view_statusbar</applyto>
- <owner>gwget</owner>
- <type>bool</type>
- <default>true</default>
- <locale name="C">
- <short>View statusbar</short>
- <long>Whether to display the statusbar.</long>
- </locale>
- </schema>
-
- <schema>
- <key>/schemas/apps/gwget2/view_total_size</key>
- <applyto>/apps/gwget2/view_total_size</applyto>
- <owner>gwget</owner>
- <type>bool</type>
- <default>true</default>
- <locale name="C">
- <short>View total size column</short>
- <long></long>
- </locale>
- </schema>
-
- <schema>
- <key>/schemas/apps/gwget2/network_mode</key>
- <applyto>/apps/gwget2/network_mode</applyto>
- <owner>gwget</owner>
- <type>string</type>
- <default>direct</default>
- <locale name="C">
- <short></short>
- <long></long>
- </locale>
- </schema>
-
- <schema>
- <key>/schemas/apps/gwget2/http_proxy</key>
- <applyto>/apps/gwget2/http_proxy</applyto>
- <owner>gwget</owner>
- <type>string</type>
- <default></default>
- <locale name="C">
- <short></short>
- <long></long>
- </locale>
- </schema>
-
- <schema>
- <key>/schemas/apps/gwget2/http_proxy_port</key>
- <applyto>/apps/gwget2/http_proxy_port</applyto>
- <owner>gwget</owner>
- <type>int</type>
- <default>8080</default>
- <locale name="C">
- <short></short>
- <long></long>
- </locale>
- </schema>
-
- <schema>
- <key>/schemas/apps/gwget2/proxy_uses_auth</key>
- <applyto>/apps/gwget2/proxy_uses_auth</applyto>
- <owner>gwget</owner>
- <type>bool</type>
- <default>false</default>
- <locale name="C">
- <short></short>
- <long></long>
- </locale>
- </schema>
-
- <schema>
- <key>/schemas/apps/gwget2/proxy_user</key>
- <applyto>/apps/gwget2/proxy_user</applyto>
- <owner>gwget</owner>
- <type>string</type>
- <default></default>
- <locale name="C">
- <short></short>
- <long></long>
- </locale>
- </schema>
-
- <schema>
- <key>/schemas/apps/gwget2/proxy_password</key>
- <applyto>/apps/gwget2/proxy_password</applyto>
- <owner>gwget</owner>
- <type>string</type>
- <default></default>
- <locale name="C">
- <short></short>
- <long></long>
- </locale>
- </schema>
-
- </schemalist>
-</gconfschemafile>
diff --git a/data/gwget.ui b/data/gwget.ui
index 532be2c..b37062e 100644
--- a/data/gwget.ui
+++ b/data/gwget.ui
@@ -424,7 +424,6 @@
<property name="resizable">False</property>
<property name="window_position">center-on-parent</property>
<property name="type_hint">normal</property>
- <property name="has_separator">False</property>
<child internal-child="vbox">
<object class="GtkVBox" id="dialog-vbox1">
<property name="visible">True</property>
@@ -908,8 +907,9 @@
<property name="visible">True</property>
<property name="spacing">6</property>
<child>
- <object class="GtkComboBoxEntry" id="save_in_comboboxentry">
+ <object class="GtkComboBox" id="save_in_comboboxentry">
<property name="visible">True</property>
+ <property name="has-entry">True</property>
</object>
<packing>
<property name="position">0</property>
diff --git a/data/org.gwget.gschema.xml b/data/org.gwget.gschema.xml
new file mode 100644
index 0000000..25d0821
--- /dev/null
+++ b/data/org.gwget.gschema.xml
@@ -0,0 +1,145 @@
+<schemalist>
+ <schema id="org.gwget" path="/org/gwget2/">
+ <key name="convert-links" type="b">
+ <default>false</default>
+ <summary>Convert Links</summary>
+ <description>Convert to relative links in recursive mode.</description>
+ </key>
+ <key name="default-height" type="i">
+ <default>200</default>
+ </key>
+ <key name="default-width" type="i">
+ <default>250</default>
+ </key>
+ <key name="dl-page-requisites" type="b">
+ <default>false</default>
+ <summary>Download Page Requisites</summary>
+ </key>
+ <key name="download-dir" type="s">
+ <default>''</default>
+ <summary>Default Download Directory</summary>
+ </key>
+ <key name="ask-save-each-dl" type="b">
+ <default>true</default>
+ <summary>Ask where to save each new download</summary>
+ <description>If true, always ask for a destination folder when starting a new download. If false, always save in the default directory without asking the user.</description>
+ </key>
+ <key name="follow-relative" type="b">
+ <default>false</default>
+ <summary>Follow relative links</summary>
+ </key>
+ <key name="limit-speed" type="b">
+ <default>false</default>
+ <summary>Limit maximum speed</summary>
+ </key>
+ <key name="limit-simultaneousdownloads" type="b">
+ <default>false</default>
+ <summary>Limit number of simultaneous downloads</summary>
+ </key>
+ <key name="max-depth" type="i">
+ <default>0</default>
+ <summary>Maximum depth in recursive mode</summary>
+ </key>
+ <key name="max-speed" type="i">
+ <default>0</default>
+ <summary>Maximum speed limit</summary>
+ </key>
+ <key name="max-simultaneousdownloads" type="i">
+ <default>0</default>
+ <summary>Maximum number of simultaneous downloads</summary>
+ </key>
+ <key name="n-downloads" type="i">
+ <default>0</default>
+ <summary>Number of downloads</summary>
+ </key>
+ <key name="no-create-directories" type="b">
+ <default>false</default>
+ </key>
+ <key name="num-retries" type="i">
+ <default>3</default>
+ <summary>Number of retries</summary>
+ </key>
+ <key name="position-x" type="i">
+ <default>0</default>
+ </key>
+ <key name="position-y" type="i">
+ <default>0</default>
+ </key>
+ <key name="resume-at-start" type="b">
+ <default>false</default>
+ <summary>Resume downloads at startup</summary>
+ </key>
+ <key name="open-after-dl" type="b">
+ <default>false</default>
+ <summary>Open the file after download</summary>
+ </key>
+ <key name="view-actual-size" type="b">
+ <default>true</default>
+ </key>
+ <key name="view-down-speed" type="b">
+ <default>true</default>
+ <summary>View download speed column</summary>
+ </key>
+ <key name="view-elapse-time" type="b">
+ <default>false</default>
+ <summary>View elapsed time column</summary>
+ </key>
+ <key name="view-percentage" type="b">
+ <default>true</default>
+ <summary>View percentage column</summary>
+ </key>
+ <key name="view-rem-time" type="b">
+ <default>true</default>
+ <summary>View remaining time column</summary>
+ </key>
+ <key name="view-toolbar" type="b">
+ <default>true</default>
+ <summary>View toolbar</summary>
+ <description>Whether to display the toolbar.</description>
+ </key>
+ <key name="view-statusbar" type="b">
+ <default>true</default>
+ <summary>View statusbar</summary>
+ <description>Whether to display the statusbar.</description>
+ </key>
+ <key name="view-total-size" type="b">
+ <default>true</default>
+ <summary>View total size column</summary>
+ </key>
+ <key name="network-mode" type="s">
+ <default>'direct'</default>
+ </key>
+ <key name="http-proxy" type="s">
+ <default>''</default>
+ </key>
+ <key name="http-proxy-port" type="i">
+ <default>8080</default>
+ </key>
+ <key name="proxy-uses-auth" type="b">
+ <default>false</default>
+ </key>
+ <key name="proxy-user" type="s">
+ <default>''</default>
+ </key>
+ <key name="proxy-password" type="s">
+ <default>''</default>
+ </key>
+ </schema>
+ <schema id="org.gwget.download">
+ <key name="url" type="s">
+ <default>''</default>
+ </key>
+ <key name="dir" type="s">
+ <default>''</default>
+ </key>
+ <key name="filename" type="s">
+ <default>''</default>
+ </key>
+ <key name="state" type="i">
+ <default>0</default>
+ </key>
+ <key name="file-size" type="s">
+ <default>''</default>
+ </key>
+ </schema>
+</schemalist>
diff --git a/po/POTFILES.in b/po/POTFILES.in
index 1b1a563..fdaf984 100644
--- a/po/POTFILES.in
+++ b/po/POTFILES.in
@@ -6,7 +6,6 @@ data/gwget.schemas.in
[type: gettext/glade]data/gwget.ui
[type: gettext/glade]data/preferences.ui
epiphany-extension/gwget.xml.in.in
-src/custom-cell-renderer-progressbar.c
src/gwget_data.c
src/main.c
src/main_window.c
diff --git a/src/Makefile.am b/src/Makefile.am
index a610cd9..e0996af 100644
--- a/src/Makefile.am
+++ b/src/Makefile.am
@@ -35,8 +35,6 @@ gwget_SOURCES = \
wget-log.h\
utils.c\
utils.h\
- custom-cell-renderer-progressbar.c\
- custom-cell-renderer-progressbar.h\
new_window.c\
new_window.h\
systray.c \
diff --git a/src/custom-cell-renderer-progressbar.c b/src/custom-cell-renderer-progressbar.c
index 5510e45..9df9929 100644
--- a/src/custom-cell-renderer-progressbar.c
+++ b/src/custom-cell-renderer-progressbar.c
@@ -19,8 +19,8 @@
#include <config.h>
#include <stdlib.h>
-#include <gnome.h>
-/* #include <glib/gi18n.h> */
+#include <glib/gi18n.h>
+#include <gtk/gtk.h>
#include "custom-cell-renderer-progressbar.h"
diff --git a/src/gwget-application.c b/src/gwget-application.c
index 22096e1..706d68f 100644
--- a/src/gwget-application.c
+++ b/src/gwget-application.c
@@ -20,8 +20,6 @@
#include "gwget-application.h"
-#include <libgnomeui/gnome-client.h>
-
#ifdef ENABLE_DBUS
#include "gwget-application-service.h"
#include <dbus/dbus-glib-bindings.h>
@@ -85,39 +83,6 @@ gwget_application_register_service (GwgetApplication *application)
#endif /* ENABLE_DBUS */
-static gint
-save_session (GnomeClient *client, gint phase, GnomeSaveStyle save_style, gint shutdown,
- GnomeInteractStyle interact_style, gint fast, GwgetApplication *application)
-{
- char **restart_argv;
- int argc = 0;
-
- restart_argv = g_new (char *, 1);
- restart_argv[0] = g_strdup ("gwget");
- gnome_client_set_restart_command (client, argc, restart_argv);
-
- return TRUE;
-}
-
-static void
-removed_from_session (GnomeClient *client, GwgetApplication *application)
-{
- gwget_application_shutdown (application);
-}
-
-static void
-init_session (GwgetApplication *application)
-{
- GnomeClient *client;
-
- client = gnome_master_client ();
-
- g_signal_connect (client, "save_yourself",
- G_CALLBACK (save_session), application);
- g_signal_connect (client, "die",
- G_CALLBACK (removed_from_session), application);
-}
-
gboolean
gwget_application_open_window (GwgetApplication *application,
guint32 timestamp,
@@ -137,8 +102,9 @@ gwget_application_open_uri (GwgetApplication *application,
gwgetdata = gwget_data_new ((gchar *)url);
- gwget_data_add_download(gwgetdata);
- gwget_data_start_download(gwgetdata);
+ if (gwget_data_add_download(gwgetdata)) {
+ gwget_data_start_download(gwgetdata);
+ }
return TRUE;
}
@@ -160,8 +126,9 @@ gwget_application_open_uri_with_dest (GwgetApplication *application,
gwgetdata->dir = gwget_pref.download_dir;
}
- gwget_data_add_download(gwgetdata);
- gwget_data_start_download(gwgetdata);
+ if (gwget_data_add_download(gwgetdata)) {
+ gwget_data_start_download(gwgetdata);
+ }
return TRUE;
}
@@ -198,7 +165,6 @@ gwget_application_class_init (GwgetApplicationClass *gwget_application_class)
static void
gwget_application_init (GwgetApplication *gwget_application)
{
- init_session (gwget_application);
}
diff --git a/src/gwget_data.c b/src/gwget_data.c
index 47f3958..db972cd 100644
--- a/src/gwget_data.c
+++ b/src/gwget_data.c
@@ -493,13 +493,13 @@ gwget_data_start_download(GwgetData *gwgetdata)
gwgetdata->log_fd = pipe_fd[0];
fcntl (gwgetdata->log_fd, F_SETFL, O_NONBLOCK);
- gwgetdata->log_tag = gtk_timeout_add (1000,
- (GtkFunction) gwget_data_process_information,
+ gwgetdata->log_tag = g_timeout_add (1000,
+ (GSourceFunc)gwget_data_process_information,
gwgetdata);
}
/*
- * Update download list in gconf
+ * Update download list in gsettings
*/
gwget_remember_downloads();
}
@@ -542,7 +542,12 @@ gwget_data_create(gchar *url, gchar *dir)
if (length == 0) {
dir = gwget_pref.download_dir;
}
-
+
+ length = strlen (dir);
+ if (length == 0) {
+ dir = g_get_home_dir();
+ }
+
/* Add a trailing '/' unless already present */
length = strlen (dir);
if (dir[length - 1] == '/')
@@ -623,7 +628,7 @@ void gwget_data_stop_download(GwgetData *data)
kill (data->wget_pid, SIGKILL);
/* Remove callback that communicates with wget */
- gtk_timeout_remove (data->log_tag);
+ g_source_remove (data->log_tag);
/* Wait the finish of wget */
child_pid = waitpid (data->wget_pid, &status, WUNTRACED);
@@ -684,7 +689,7 @@ gwget_data_set_filename_from_url(GwgetData *gwgetdata,gchar *url)
}
/* Add a gwgetdata to the main window */
-void
+gboolean
gwget_data_add_download(GwgetData *gwgetdata)
{
gint response;
@@ -694,7 +699,7 @@ gwget_data_add_download(GwgetData *gwgetdata)
if (check_url_already_exists(gwgetdata->url)) {
run_dialog_information(_("Unable to add this download"),
_("This download is already added"));
- return;
+ return FALSE;
}
/* if the url it's not a file drop a dialog to recurse into the url */
@@ -730,6 +735,7 @@ gwget_data_add_download(GwgetData *gwgetdata)
downloads = g_list_append(downloads,gwgetdata);
new_download(gwgetdata);
gwget_data_set_state(gwgetdata,DL_NOT_CONNECTED);
+ return TRUE;
}
void
diff --git a/src/gwget_data.h b/src/gwget_data.h
index 400f335..5a58c8d 100644
--- a/src/gwget_data.h
+++ b/src/gwget_data.h
@@ -50,7 +50,6 @@ typedef struct
gboolean view_down_speed;
gboolean view_toolbar;
gboolean view_statusbar;
- gboolean view_file_type;
gboolean docked;
gboolean limit_speed;
gboolean limit_simultaneousdownloads;
@@ -125,7 +124,7 @@ GwgetData* gwget_data_get_selected(void);
void gwget_data_free(gpointer data);
void gwget_data_stop_download(GwgetData *data);
void gwget_data_set_filename_from_url(GwgetData *gwgetdata, gchar *url);
-void gwget_data_add_download(GwgetData *gwgetdata);
+gboolean gwget_data_add_download(GwgetData *gwgetdata);
void gwget_data_exec(GwgetData *gwgetdata);
void gwget_data_set_menus (GwgetData *gwgetdata);
void gwget_data_set_popupmenu (GwgetData *gwgetdata);
diff --git a/src/main.c b/src/main.c
index f075140..dbe9f6f 100644
--- a/src/main.c
+++ b/src/main.c
@@ -16,11 +16,12 @@
#include <config.h>
-#include <gnome.h>
+#include <stdlib.h>
+#include <errno.h>
+#include <glib/gi18n.h>
+#include <gtk/gtk.h>
#include <string.h>
-#include <gconf/gconf-client.h>
#include <locale.h>
-#include <libgnomeui/libgnomeui.h>
#include <gio/gio.h>
#include "main_window_cb.h"
@@ -191,8 +192,9 @@ load_urls (const char **urls)
if (destination_dir) {
gwgetdata->dir = destination_dir;
}
- gwget_data_add_download(gwgetdata);
- gwget_data_start_download(gwgetdata);
+ if (gwget_data_add_download(gwgetdata)) {
+ gwget_data_start_download(gwgetdata);
+ }
g_object_unref (file);
}
}
@@ -200,7 +202,6 @@ load_urls (const char **urls)
int main(int argc,char *argv[])
{
- GnomeProgram *program;
GOptionContext *context;
context = g_option_context_new (_("Gwget Download Manager"));
@@ -219,12 +220,7 @@ int main(int argc,char *argv[])
gwget_init_pref(&gwget_pref);
- program = gnome_program_init(PACKAGE, VERSION,
- LIBGNOMEUI_MODULE, argc, argv,
- GNOME_PARAM_GOPTION_CONTEXT, context,
- GNOME_PARAM_HUMAN_READABLE_NAME, _("Gwget"),
- GNOME_PARAM_APP_DATADIR, GNOME_GWGET_LOCALEDIR,
- NULL);
+ gtk_init (&argc, &argv);
#ifdef ENABLE_DBUS
if (!gwget_application_register_service (GWGET_APP)) {
@@ -242,9 +238,5 @@ int main(int argc,char *argv[])
gtk_main();
- gnome_accelerators_sync ();
-
- g_object_unref (program);
-
return (0);
}
diff --git a/src/main_window.c b/src/main_window.c
index 13a1a70..72c69a8 100644
--- a/src/main_window.c
+++ b/src/main_window.c
@@ -14,8 +14,9 @@
*/
#include <config.h>
-#include <gnome.h>
-#include <gconf/gconf-client.h>
+#include <stdlib.h>
+#include <glib/gi18n.h>
+#include <gtk/gtk.h>
#include <glib/gstdio.h>
#include <string.h>
#include <sys/types.h>
@@ -24,7 +25,6 @@
#include "main_window.h"
#include "main_window_cb.h"
#include "gwget_data.h"
-#include "custom-cell-renderer-progressbar.h"
#include "utils.h"
#include "systray.h"
#include "new_window.h"
@@ -40,12 +40,6 @@ show_prefered_columns(void);
static gboolean
gwget_destination_file_exists(GwgetData *data);
-static void
-gwget_gconf_notify_toolbar(GConfClient *client,
- guint cnxn_id,
- GConfEntry *entry,
- gpointer user_data);
-
static gboolean
view_selection_func (GtkTreeSelection *selection,
GtkTreeModel *model,
@@ -57,7 +51,7 @@ void
main_window(void)
{
GtkWidget * window = NULL;
- gchar *builder_file = NULL,*toolbar_setting;
+ gchar *builder_file = NULL;
GtkWidget *treev,*toolbar,*menu_item, *combo;
GtkTreeSelection *select;
GError* error = NULL;
@@ -82,7 +76,7 @@ main_window(void)
gtk_tree_selection_set_select_function(select, view_selection_func, NULL, NULL);
/*
- * Update window size in gconf on resize
+ * Update window size in gsettings on resize
*/
g_signal_connect(GTK_WIDGET(window),
"configure-event",
@@ -92,14 +86,10 @@ main_window(void)
/* add the columns titles to the tree view */
add_columns (GTK_TREE_VIEW (treev));
- gconf_client = gconf_client_get_default();
- gconf_client_add_dir (gconf_client,
- "/apps/gwget2",
- GCONF_CLIENT_PRELOAD_NONE,
- NULL);
+ settings = g_settings_new("org.gwget");
/* gwget_pref.download_dir=NULL; */
- gwget_get_defaults_from_gconf();
+ gwget_get_defaults_from_gsettings();
/* Drag and drop set up */
gtk_drag_dest_set(GTK_WIDGET(window),
@@ -113,34 +103,6 @@ main_window(void)
G_CALLBACK(on_gwget_drag_received),
GUINT_TO_POINTER(dnd_type));
- /* Set the toolbar like gnome preferences */
- toolbar = GTK_WIDGET (gtk_builder_get_object(builder,"toolbar1"));
- toolbar_setting = gconf_client_get_string(gconf_client,"/desktop/gnome/interface/toolbar_style",NULL);
-
- if (!strcmp(toolbar_setting,"icons")) {
- gtk_toolbar_set_style(GTK_TOOLBAR(toolbar),GTK_TOOLBAR_ICONS);
- }
-
- if (!strcmp(toolbar_setting,"both")) {
- gtk_toolbar_set_style(GTK_TOOLBAR(toolbar),GTK_TOOLBAR_BOTH);
- }
-
- if (!strcmp(toolbar_setting,"both-horiz")) {
- gtk_toolbar_set_style(GTK_TOOLBAR(toolbar),GTK_TOOLBAR_BOTH_HORIZ);
- }
-
- if (!strcmp(toolbar_setting,"text")) {
- gtk_toolbar_set_style(GTK_TOOLBAR(toolbar),GTK_TOOLBAR_TEXT);
- }
-
- /* Listen to changes to the key. */
- gconf_client_notify_add (gconf_client,
- "/desktop/gnome/interface/toolbar_style",
- gwget_gconf_notify_toolbar,
- NULL,
- NULL,
- NULL);
-
/* Show the toolbar ? */
gtk_check_menu_item_set_active(GTK_CHECK_MENU_ITEM (gtk_builder_get_object(builder,"view_toolbar")),gwget_pref.view_toolbar);
toolbar = GTK_WIDGET (gtk_builder_get_object(builder,"toolbar1"));
@@ -181,8 +143,8 @@ main_window(void)
save_in_model = (GtkTreeModel*)gtk_list_store_new (1, G_TYPE_STRING);
combo = GTK_WIDGET (gtk_builder_get_object (builder, "save_in_comboboxentry"));
gtk_combo_box_set_model(GTK_COMBO_BOX(combo), save_in_model);
- gtk_combo_box_entry_set_text_column (GTK_COMBO_BOX_ENTRY(combo), 0);
- gtk_entry_set_text(GTK_ENTRY(GTK_BIN(combo)->child), gwget_pref.download_dir);
+ gtk_combo_box_set_entry_text_column (GTK_COMBO_BOX(combo), 0);
+ gtk_entry_set_text(GTK_ENTRY(gtk_bin_get_child(GTK_BIN(combo))), gwget_pref.download_dir);
}
@@ -224,90 +186,91 @@ gwget_destination_file_exists(GwgetData *data)
void
-gwget_get_defaults_from_gconf(void)
+gwget_get_defaults_from_gsettings(void)
{
gint num_dl, i;
gint64 total_size;
GwgetData *data;
- gchar *key,*url,*dir,*name;
+ gchar *path,*url,*dir,*name;
DlState state;
gint default_width, default_height;
- GError *error = NULL;
-
- gwget_pref.http_proxy=gconf_client_get_string(gconf_client,"/apps/gwget2/http_proxy",NULL);
- gwget_pref.http_proxy_port=gconf_client_get_int(gconf_client,"/apps/gwget2/http_proxy_port",NULL);
- gwget_pref.proxy_uses_auth=gconf_client_get_bool(gconf_client,"/apps/gwget2/proxy_uses_auth",NULL);
- gwget_pref.proxy_user=gconf_client_get_string(gconf_client,"/apps/gwget2/proxy_user",NULL);
- gwget_pref.proxy_password=gconf_client_get_string(gconf_client,"/apps/gwget2/proxy_password",NULL);
-
- gwget_pref.gnome_http_proxy=gconf_client_get_string(gconf_client,"/system/http_proxy/host",NULL);
- gwget_pref.gnome_http_proxy_port=gconf_client_get_int(gconf_client,"/system/http_proxy/port",NULL);
- gwget_pref.gnome_proxy_uses_auth=gconf_client_get_bool(gconf_client,"/system/http_proxy/use_authentication",NULL);
- gwget_pref.gnome_proxy_user=gconf_client_get_string(gconf_client,"/system/http_proxy/authentication_user",NULL);
- gwget_pref.gnome_proxy_password=gconf_client_get_string(gconf_client,"/system/http_proxy/authentication_password",NULL);
- gwget_pref.gnome_use_proxy=gconf_client_get_bool(gconf_client,"/system/http_proxy/use_http_proxy",NULL);
-
- gwget_pref.network_mode=gconf_client_get_string(gconf_client,"/apps/gwget2/network_mode",NULL);
- gwget_pref.download_dir=gconf_client_get_string(gconf_client,"/apps/gwget2/download_dir",NULL);
- gwget_pref.num_retries=gconf_client_get_int(gconf_client,"/apps/gwget2/num_retries",NULL);
- gwget_pref.resume_at_start=gconf_client_get_bool(gconf_client,"/apps/gwget2/resume_at_start",NULL);
- gwget_pref.open_after_dl=gconf_client_get_bool(gconf_client,"/apps/gwget2/open_after_dl",NULL);
- gwget_pref.no_create_directories=gconf_client_get_bool(gconf_client,"/apps/gwget2/no_create_directories",NULL);
- gwget_pref.follow_relative=gconf_client_get_bool(gconf_client,"/apps/gwget2/follow_relative",NULL);
- gwget_pref.convert_links = gconf_client_get_bool(gconf_client,"/apps/gwget2/convert_links",NULL);
- gwget_pref.dl_page_requisites = gconf_client_get_bool(gconf_client,"/apps/gwget2/dl_page_requisites",NULL);
- gwget_pref.max_depth=gconf_client_get_int(gconf_client,"/apps/gwget2/max_depth",NULL);
- gwget_pref.view_actual_size=gconf_client_get_bool(gconf_client,"/apps/gwget2/view_actual_size",NULL);
- gwget_pref.view_total_size=gconf_client_get_bool(gconf_client,"/apps/gwget2/view_total_size",NULL);
- gwget_pref.view_percentage=gconf_client_get_bool(gconf_client,"/apps/gwget2/view_percentage",NULL);
- gwget_pref.view_elapse_time=gconf_client_get_bool(gconf_client,"/apps/gwget2/view_elapse_time",NULL);
- gwget_pref.view_down_speed=gconf_client_get_bool(gconf_client,"/apps/gwget2/view_down_speed",NULL);
- gwget_pref.view_toolbar=gconf_client_get_bool(gconf_client,"/apps/gwget2/view_toolbar",NULL);
- gwget_pref.view_statusbar=gconf_client_get_bool(gconf_client,"/apps/gwget2/view_statusbar",NULL);
- gwget_pref.view_file_type=gconf_client_get_bool(gconf_client,"/apps/gwget2/view_file_type",NULL);
- gwget_pref.limit_speed = gconf_client_get_bool (gconf_client,"/apps/gwget2/limit_speed", NULL);
- gwget_pref.max_speed=gconf_client_get_int(gconf_client,"/apps/gwget2/max_speed",NULL);
- gwget_pref.limit_simultaneousdownloads = gconf_client_get_bool (gconf_client,"/apps/gwget2/limit_simultaneousdownloads", NULL);
- gwget_pref.max_simultaneousdownloads=gconf_client_get_int(gconf_client,"/apps/gwget2/max_simultaneousdownloads",NULL);
- gwget_pref.ask_save_each_dl = gconf_client_get_bool (gconf_client,"/apps/gwget2/ask_save_each_dl", NULL);
+ GSettingsSchemaSource *schema_source;
+ GSettingsSchema *http_proxy_schema;
+ GSettings *http_proxy_settings,*download_settings;
+
+ gwget_pref.http_proxy=g_settings_get_string(settings,"http-proxy");
+ gwget_pref.http_proxy_port=g_settings_get_int(settings,"http-proxy-port");
+ gwget_pref.proxy_uses_auth=g_settings_get_boolean(settings,"proxy-uses-auth");
+ gwget_pref.proxy_user=g_settings_get_string(settings,"proxy-user");
+ gwget_pref.proxy_password=g_settings_get_string(settings,"proxy-password");
+
+ schema_source=g_settings_schema_source_get_default();
+ http_proxy_schema=g_settings_schema_source_lookup(schema_source,"org.gnome.system.proxy.http",FALSE);
+
+ if (http_proxy_schema != NULL) {
+ http_proxy_settings=g_settings_new("org.gnome.system.proxy.http");
+ gwget_pref.gnome_http_proxy=g_settings_get_string(http_proxy_settings,"host");
+ gwget_pref.gnome_http_proxy_port=g_settings_get_int(http_proxy_settings,"port");
+ gwget_pref.gnome_proxy_uses_auth=g_settings_get_boolean(http_proxy_settings,"use-authentication");
+ gwget_pref.gnome_proxy_user=g_settings_get_string(http_proxy_settings,"authentication-user");
+ gwget_pref.gnome_proxy_password=g_settings_get_string(http_proxy_settings,"authentication-password");
+ gwget_pref.gnome_use_proxy=g_settings_get_boolean(http_proxy_settings,"enabled");
+ g_settings_schema_unref(http_proxy_schema);
+ }
+
+ gwget_pref.network_mode=g_settings_get_string(settings,"network-mode");
+ gwget_pref.download_dir=g_settings_get_string(settings,"download-dir");
+ gwget_pref.num_retries=g_settings_get_int(settings,"num-retries");
+ gwget_pref.resume_at_start=g_settings_get_boolean(settings,"resume-at-start");
+ gwget_pref.open_after_dl=g_settings_get_boolean(settings,"open-after-dl");
+ gwget_pref.no_create_directories=g_settings_get_boolean(settings,"no-create-directories");
+ gwget_pref.follow_relative=g_settings_get_boolean(settings,"follow-relative");
+ gwget_pref.convert_links = g_settings_get_boolean(settings,"convert-links");
+ gwget_pref.dl_page_requisites = g_settings_get_boolean(settings,"dl-page-requisites");
+ gwget_pref.max_depth=g_settings_get_int(settings,"max-depth");
+ gwget_pref.view_actual_size=g_settings_get_boolean(settings,"view-actual-size");
+ gwget_pref.view_total_size=g_settings_get_boolean(settings,"view-total-size");
+ gwget_pref.view_percentage=g_settings_get_boolean(settings,"view-percentage");
+ gwget_pref.view_elapse_time=g_settings_get_boolean(settings,"view-elapse-time");
+ gwget_pref.view_down_speed=g_settings_get_boolean(settings,"view-down-speed");
+ gwget_pref.view_toolbar=g_settings_get_boolean(settings,"view-toolbar");
+ gwget_pref.view_statusbar=g_settings_get_boolean(settings,"view-statusbar");
+ gwget_pref.limit_speed = g_settings_get_boolean(settings,"limit-speed");
+ gwget_pref.max_speed=g_settings_get_int(settings,"max-speed");
+ gwget_pref.limit_simultaneousdownloads = g_settings_get_boolean(settings,"limit-simultaneousdownloads");
+ gwget_pref.max_simultaneousdownloads=g_settings_get_int(settings,"max-simultaneousdownloads");
+ gwget_pref.ask_save_each_dl = g_settings_get_boolean(settings,"ask-save-each-dl");
if (!gwget_pref.download_dir) {
gwget_pref.download_dir = g_strdup(g_get_home_dir());
- gconf_client_set_string (gconf_client, "/apps/gwget2/download_dir", g_strdup(g_get_home_dir()), NULL);
+ g_settings_set_string (settings, "download-dir", g_strdup(g_get_home_dir()));
}
if (!gwget_pref.network_mode) {
gwget_pref.network_mode = g_strdup("direct");
- gconf_client_set_string (gconf_client, "/apps/gwget2/network_mode", "direct", NULL);
+ g_settings_set_string (settings, "network-mode", "direct");
}
/* Put in the list of save_in_paths (used by new dialog window) the initial download directory */
save_in_paths = g_list_append (save_in_paths, gwget_pref.download_dir);
- num_dl=gconf_client_get_int(gconf_client,"/apps/gwget2/n_downloads",NULL);
+ num_dl=g_settings_get_int(settings,"n-downloads");
for (i=0;i<num_dl;i++) {
- key=g_strdup_printf("/apps/gwget2/downloads_data/%d/url",i);
- url=gconf_client_get_string(gconf_client,key,NULL);
- key=g_strdup_printf("/apps/gwget2/downloads_data/%d/dir",i);
- dir=gconf_client_get_string(gconf_client,key,NULL);
+ path=g_strdup_printf("/org/gwget2/downloads-data/%d/",i);
+ download_settings = g_settings_new_with_path("org.gwget.download", path);
+ url=g_settings_get_string(download_settings,"url");
+ dir=g_settings_get_string(download_settings,"dir");
if (url!=NULL) {
data=gwget_data_create(url,dir);
- key=g_strdup_printf("/apps/gwget2/downloads_data/%d/filename",i);
- name=gconf_client_get_string(gconf_client,key,NULL);
+ name=g_settings_get_string(download_settings,"filename");
gwget_data_set_filename(data,name);
- key=g_strdup_printf("/apps/gwget2/downloads_data/%d/state",i);
- state=gconf_client_get_int(gconf_client,key,NULL);
+ state=g_settings_get_int(download_settings,"state");
- key=g_strdup_printf("/apps/gwget2/downloads_data/%d/file_size",i);
- total_size = atoll(gconf_client_get_string (gconf_client, key, &error));
- if (!error) {
- gwget_data_set_total_size (data, total_size);
- } else {
- gwget_data_set_total_size (data, 0);
- }
+ total_size = atoll(g_settings_get_string (download_settings, "file-size"));
+ gwget_data_set_total_size (data, total_size);
if ( state != DL_COMPLETED ) {
/*
@@ -324,7 +287,7 @@ gwget_get_defaults_from_gconf(void)
if ( !gwget_destination_file_exists(data) ) {
/*
* We do not add download, the gwget_remember_downloads
- * call after the cycle will flush gconf
+ * call after the cycle will flush gsettings
*/
continue;
} else {
@@ -336,6 +299,8 @@ gwget_get_defaults_from_gconf(void)
}
}
+ g_object_unref (download_settings);
+
gwget_data_set_state_no_sync(data,DL_NOT_RUNNING);
if (gwget_pref.resume_at_start && data->state!=DL_COMPLETED) {
gwget_data_start_download(data);
@@ -347,21 +312,21 @@ gwget_get_defaults_from_gconf(void)
}
}
/*
- * We may have altered the download list so we sync gconf
+ * We may have altered the download list so we sync gsettings
*/
gwget_remember_downloads();
show_prefered_columns();
/* Default width and height */
- default_width=gconf_client_get_int (gconf_client,"/apps/gwget2/default_width",NULL);
- default_height=gconf_client_get_int (gconf_client,"/apps/gwget2/default_height",NULL);
+ default_width=g_settings_get_int (settings,"default-width");
+ default_height=g_settings_get_int (settings,"default-height");
gtk_window_resize (GTK_WINDOW (gtk_builder_get_object(builder,"main_window")),default_width,default_height);
/* Default position */
gtk_window_move(GTK_WINDOW(GTK_WIDGET (gtk_builder_get_object(builder,"main_window"))),
- gconf_client_get_int (gconf_client,"/apps/gwget2/position_x",NULL),
- gconf_client_get_int (gconf_client,"/apps/gwget2/position_y",NULL)
+ g_settings_get_int (settings,"position-x"),
+ g_settings_get_int (settings,"position-y")
);
}
@@ -484,7 +449,7 @@ add_columns (GtkTreeView *treeview)
gtk_tree_view_append_column (treeview, column);
/* Percentage */
- renderer = ephy_cell_renderer_progress_new();
+ renderer = gtk_cell_renderer_progress_new();
column = gtk_tree_view_column_new_with_attributes (_("Percentage"),
renderer,
"value",
@@ -553,7 +518,7 @@ on_gwget_drag_received (GtkWidget * widget, GdkDragContext * context, int x,
drop_ok = FALSE;
if (dnd_type==TARGET_URI_LIST) {
- uris = g_uri_list_extract_uris ((gchar *)seldata->data);
+ uris = g_uri_list_extract_uris ((gchar *)gtk_selection_data_get_data(seldata));
for (i=0; uris[i] != NULL; i++) {
files = g_list_prepend (files, uris[i]);
}
@@ -561,7 +526,7 @@ on_gwget_drag_received (GtkWidget * widget, GdkDragContext * context, int x,
file = g_list_first(files)->data;
drop_ok = TRUE;
} else if (dnd_type==TARGET_NETSCAPE_URL) {
- file=((gchar *) (seldata->data));
+ file=((gchar *) (gtk_selection_data_get_data(seldata)));
drop_ok = TRUE;
} else {
gtk_drag_finish(context, FALSE, TRUE, time);
@@ -581,40 +546,6 @@ on_gwget_drag_received (GtkWidget * widget, GdkDragContext * context, int x,
}
}
-static void
-gwget_gconf_notify_toolbar(GConfClient *client,
- guint cnxn_id,
- GConfEntry *entry,
- gpointer user_data)
-{
- GConfValue *value;
- GtkWidget *toolbar;
- gchar *toolbar_setting;
-
- value = gconf_entry_get_value (entry);
-
- toolbar = GTK_WIDGET (gtk_builder_get_object(builder,"toolbar1"));
- toolbar_setting = (gchar *)gconf_value_get_string(value);
-
- if (!strcmp(toolbar_setting,"icons")) {
- gtk_toolbar_set_style(GTK_TOOLBAR(toolbar),GTK_TOOLBAR_ICONS);
- }
-
- if (!strcmp(toolbar_setting,"both")) {
- gtk_toolbar_set_style(GTK_TOOLBAR(toolbar),GTK_TOOLBAR_BOTH);
- }
-
- if (!strcmp(toolbar_setting,"both-horiz")) {
- gtk_toolbar_set_style(GTK_TOOLBAR(toolbar),GTK_TOOLBAR_BOTH_HORIZ);
- }
-
- if (!strcmp(toolbar_setting,"text")) {
- gtk_toolbar_set_style(GTK_TOOLBAR(toolbar),GTK_TOOLBAR_TEXT);
- }
-
- g_free(toolbar_setting);
-}
-
static void
show_prefered_columns(void)
{
@@ -723,25 +654,23 @@ gboolean
gwget_remember_window_size_and_position(void)
{
GtkWidget *main_window;
- GtkAllocation *allocation;
+ GtkAllocation allocation;
gint position_x,position_y;
- GConfChangeSet *cs;
- /* Remember the size of the window */
main_window=GTK_WIDGET (gtk_builder_get_object(builder,"main_window"));
- allocation= &(GTK_WIDGET (main_window)->allocation);
- cs = gconf_change_set_new ();
- gconf_change_set_set_int (cs, "/apps/gwget2/default_height", allocation->height);
- gconf_change_set_set_int (cs, "/apps/gwget2/default_width", allocation->width);
+
+ if (!gtk_widget_get_visible(main_window))
+ return FALSE;
+
+ /* Remember the size of the window */
+ gtk_widget_get_allocation (main_window, &allocation);
+ g_settings_set_int (settings, "default-height", allocation.height);
+ g_settings_set_int (settings, "default-width", allocation.width);
/* Remember the position */
gtk_window_get_position(GTK_WINDOW(main_window), &position_x, &position_y);
- gconf_change_set_set_int (cs, "/apps/gwget2/position_x", position_x);
- gconf_change_set_set_int (cs, "/apps/gwget2/position_y", position_y);
-
- gconf_client_commit_change_set (gconf_client, cs, TRUE, NULL);
-
- gconf_change_set_unref (cs);
+ g_settings_set_int (settings, "position-x", position_x);
+ g_settings_set_int (settings, "position-y", position_y);
return FALSE;
}
@@ -752,48 +681,40 @@ gwget_remember_window_size_and_position(void)
gboolean
gwget_remember_downloads(void)
{
- gchar *url,*key;
+ gchar *url,*path;
GwgetData *gwgetdata;
GtkTreeIter iter;
gint i,length;
gboolean running = FALSE;
gchar down_size[2048];
+ GSettings *download_settings;
/* calculate the number of items in the treeview */
length=gtk_tree_model_iter_n_children(GTK_TREE_MODEL(model),NULL);
/* Save the number of current downloads in the treev */
/* When load again we can known the number of directories to load */
- gconf_client_set_int(gconf_client,"/apps/gwget2/n_downloads",length,NULL);
+ g_settings_set_int(settings,"n-downloads",length);
- gtk_tree_model_get_iter_root(model,&iter);
- /* Save current downloads in GConf */
+ gtk_tree_model_get_iter_first(model,&iter);
+ /* Save current downloads in GSettings */
/* Calculate if there are any dl in retriving state */
for (i=0;i<length;i++) {
gtk_tree_model_get (model, &iter, URL_COLUMN, &url, -1);
gwgetdata=g_object_get_data(G_OBJECT(model),url);
- key=g_strdup_printf("/apps/gwget2/downloads_data/%d",i);
- gconf_client_add_dir(gconf_client,
- key,
- GCONF_CLIENT_PRELOAD_NONE,
- NULL);
- key=g_strdup_printf("/apps/gwget2/downloads_data/%d/url",i);
- gconf_client_set_string(gconf_client,key,gwgetdata->url,NULL);
-
- key=g_strdup_printf("/apps/gwget2/downloads_data/%d/filename",i);
- gconf_client_set_string(gconf_client,key,gwgetdata->filename,NULL);
-
- key=g_strdup_printf("/apps/gwget2/downloads_data/%d/dir",i);
- gconf_client_set_string(gconf_client,key,gwgetdata->dir,NULL);
-
- key=g_strdup_printf("/apps/gwget2/downloads_data/%d/state",i);
- gconf_client_set_int(gconf_client,key,gwgetdata->state,NULL);
+ path=g_strdup_printf("/org/gwget2/downloads-data/%d/",i);
+ download_settings = g_settings_new_with_path("org.gwget.download", path);
+
+ g_settings_set_string(download_settings,"url",gwgetdata->url);
+ g_settings_set_string(download_settings,"filename",gwgetdata->filename);
+ g_settings_set_string(download_settings,"dir",gwgetdata->dir);
+ g_settings_set_int(download_settings,"state",gwgetdata->state);
- key=g_strdup_printf ("/apps/gwget2/downloads_data/%d/file_size",i);
-
g_snprintf(down_size,2047, "%" G_GINT64_FORMAT,gwgetdata->total_size);
- gconf_client_set_string (gconf_client,key,down_size,NULL);
+ g_settings_set_string(download_settings,"file-size",down_size);
+
+ g_object_unref (download_settings);
if (gwgetdata->log_tag != -1)
{
@@ -819,9 +740,11 @@ gwget_quit(void)
_("There is at least one active download left. Really cancel all running transfers?"), _("No"), _("Yes"));
if (response == GTK_RESPONSE_OK) {
stop_all_downloads();
+ g_settings_sync();
gtk_main_quit();
}
} else {
+ g_settings_sync();
gtk_main_quit();
}
}
diff --git a/src/main_window.h b/src/main_window.h
index 6b1e3fd..5600d6e 100644
--- a/src/main_window.h
+++ b/src/main_window.h
@@ -16,7 +16,6 @@
#ifndef _MAIN_WINDOW_H
#define _MAIN_WINDOW_H
-#include <gconf/gconf-client.h>
#include <gtk/gtk.h>
enum {
@@ -69,8 +68,8 @@ GtkBuilder *builder_new;
/* declared here for be used to add by main_window_cb */
GtkTreeModel *model;
-/* GConf Client */
-GConfClient *gconf_client;
+/* GSettings */
+GSettings *settings;
/* List of all current downloads */
GList *downloads;
@@ -80,7 +79,7 @@ GtkStatusIcon *tray_icon;
/* XML for the preferences gui */
/* It's here because we must load it from main_window.c to put */
-/* the options of the column list from Gconf on load */
+/* the options of the column list from GSettings on load */
GtkBuilder *builder_pref;
/* List of introduced path in save in dialogs */
@@ -93,7 +92,7 @@ void main_window(void);
void on_main_window_delete_event(GtkWidget *widget, gpointer data);
GtkTreeModel* create_model(void);
void add_columns (GtkTreeView *treeview);
-void gwget_get_defaults_from_gconf(void);
+void gwget_get_defaults_from_gsettings(void);
/* Drag received callback */
void on_gwget_drag_received(GtkWidget * widget, GdkDragContext * context, int x,
int y, GtkSelectionData * seldata, guint info,
diff --git a/src/main_window_cb.c b/src/main_window_cb.c
index 917ce76..e57c7d3 100644
--- a/src/main_window_cb.c
+++ b/src/main_window_cb.c
@@ -14,8 +14,9 @@
*/
#include <config.h>
-#include <gnome.h>
-#include <gconf/gconf-client.h>
+#include <stdlib.h>
+#include <glib/gi18n.h>
+#include <gtk/gtk.h>
#include <signal.h>
#include "main_window.h"
@@ -125,7 +126,7 @@ stop_all_downloads(void)
gchar *url;
length=gtk_tree_model_iter_n_children(GTK_TREE_MODEL(model),NULL);
- gtk_tree_model_get_iter_root(model,&iter);
+ gtk_tree_model_get_iter_first(model,&iter);
for (i=0;i<length;i++) {
gtk_tree_model_get (model, &iter, URL_COLUMN, &url, -1);
gwgetdata=g_object_get_data(G_OBJECT(model),url);
@@ -148,7 +149,7 @@ continue_all_downloads(void)
gchar *url;
length=gtk_tree_model_iter_n_children(GTK_TREE_MODEL(model),NULL);
- gtk_tree_model_get_iter_root(model,&iter);
+ gtk_tree_model_get_iter_first(model,&iter);
for (i=0;i<length;i++) {
gtk_tree_model_get (model, &iter, URL_COLUMN, &url, -1);
gwgetdata=g_object_get_data(G_OBJECT(model),url);
@@ -216,6 +217,9 @@ new_download(GwgetData* gwgetdata)
gchar *size;
int width = 16, height = 16;
gdouble perc;
+ GIcon *icon;
+ const gchar *const *icon_names;
+ gint i;
gtk_list_store_append (GTK_LIST_STORE(model), &iter);
@@ -244,8 +248,17 @@ new_download(GwgetData* gwgetdata)
theme = gtk_icon_theme_get_default ();
if (!gwgetdata->recursive) {
content_type = g_content_type_guess (gwgetdata->local_filename, NULL, 0, NULL);
- gwgetdata->icon_name = gnome_icon_lookup (theme, NULL, NULL, NULL, NULL,
- content_type, GNOME_ICON_LOOKUP_FLAGS_NONE, NULL);
+ icon = g_content_type_get_icon (content_type);
+ icon_names = g_themed_icon_get_names (G_THEMED_ICON (icon));
+ for (i=0; i < g_strv_length ((gchar **)icon_names); i++) {
+ if (gtk_icon_theme_has_icon (theme, icon_names[i])) {
+ gwgetdata->icon_name = g_strdup (icon_names[i]);
+ break;
+ }
+ }
+ if (gwgetdata->icon_name == NULL) {
+ gwgetdata->icon_name = g_strdup("text-x-generic");
+ }
} else {
gwgetdata->icon_name = g_strdup("gtk-refresh");
}
@@ -412,53 +425,53 @@ on_pref_ok_button_clicked(GtkWidget *widget,gpointer data)
http_proxy=GTK_WIDGET (gtk_builder_get_object(builder_pref,"http_proxy_entry"));
gwget_pref.http_proxy=g_strdup(gtk_entry_get_text(GTK_ENTRY(http_proxy)));
- gconf_client_set_string(gconf_client,"/apps/gwget2/http_proxy",
- g_strdup(gtk_entry_get_text(GTK_ENTRY(http_proxy))),NULL);
+ g_settings_set_string(settings,"http-proxy",
+ g_strdup(gtk_entry_get_text(GTK_ENTRY(http_proxy))));
proxy_user=GTK_WIDGET (gtk_builder_get_object(builder_pref,"proxy_user"));
gwget_pref.proxy_user=g_strdup(gtk_entry_get_text(GTK_ENTRY(proxy_user)));
- gconf_client_set_string(gconf_client,"/apps/gwget2/proxy_user",
- g_strdup(gtk_entry_get_text(GTK_ENTRY(proxy_user))),NULL);
+ g_settings_set_string(settings,"proxy-user",
+ g_strdup(gtk_entry_get_text(GTK_ENTRY(proxy_user))));
proxy_password=GTK_WIDGET (gtk_builder_get_object(builder_pref,"proxy_password"));
gwget_pref.proxy_password=g_strdup(gtk_entry_get_text(GTK_ENTRY(proxy_password)));
- gconf_client_set_string(gconf_client,"/apps/gwget2/proxy_password",
- g_strdup(gtk_entry_get_text(GTK_ENTRY(proxy_password))),NULL);
+ g_settings_set_string(settings,"proxy-password",
+ g_strdup(gtk_entry_get_text(GTK_ENTRY(proxy_password))));
http_proxy_port_spin = GTK_WIDGET (gtk_builder_get_object (builder_pref, "http_proxy_port_spin"));
gwget_pref.http_proxy_port = gtk_spin_button_get_value_as_int (GTK_SPIN_BUTTON(http_proxy_port_spin));
- gconf_client_set_int(gconf_client,"/apps/gwget2/http_proxy_port",
- gtk_spin_button_get_value_as_int (GTK_SPIN_BUTTON(http_proxy_port_spin)),NULL);
+ g_settings_set_int(settings,"http-proxy-port",
+ gtk_spin_button_get_value_as_int (GTK_SPIN_BUTTON(http_proxy_port_spin)));
proxy_uses_auth_radio=GTK_WIDGET (gtk_builder_get_object(builder_pref,"proxy_uses_auth_radio"));
if (gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON (proxy_uses_auth_radio))) {
- gconf_client_set_bool(gconf_client,"/apps/gwget2/network_mode",TRUE,NULL);
+ g_settings_set_boolean(settings,"network-mode",TRUE);
gwget_pref.proxy_uses_auth=TRUE;
}
manual_radio=GTK_WIDGET (gtk_builder_get_object(builder_pref,"manual_radio"));
if (gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(manual_radio))) {
- gconf_client_set_string(gconf_client,"/apps/gwget2/network_mode","manual",NULL);
+ g_settings_set_string(settings,"network-mode","manual");
gwget_pref.network_mode="manual";
}
direct_radio=GTK_WIDGET (gtk_builder_get_object(builder_pref,"direct_radio"));
if (gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(direct_radio))) {
- gconf_client_set_string(gconf_client,"/apps/gwget2/network_mode","direct",NULL);
+ g_settings_set_string(settings,"network-mode","direct");
gwget_pref.network_mode="direct";
}
default_radio=GTK_WIDGET (gtk_builder_get_object(builder_pref,"default_radio"));
if (gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(default_radio))) {
- gconf_client_set_string(gconf_client,"/apps/gwget2/network_mode","default",NULL);
+ g_settings_set_string(settings,"network-mode","default");
gwget_pref.network_mode="default";
}
ask_each_dl = GTK_WIDGET (gtk_builder_get_object(builder_pref, "ask_save_each_dl_check"));
gwget_pref.ask_save_each_dl = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(ask_each_dl));
- gconf_client_set_bool(gconf_client, "/apps/gwget2/ask_save_each_dl",
- gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(ask_each_dl)), NULL);
+ g_settings_set_boolean(settings,"ask-save-each-dl",
+ gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(ask_each_dl)));
num_retries = GTK_WIDGET (gtk_builder_get_object(builder_pref,"num_retries_spin"));
@@ -469,18 +482,18 @@ on_pref_ok_button_clicked(GtkWidget *widget,gpointer data)
open_after_dl = GTK_WIDGET (gtk_builder_get_object(builder_pref, "open_after_dl"));
gwget_pref.open_after_dl = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(open_after_dl));
- gconf_client_set_bool(gconf_client, "/apps/gwget2/open_after_dl",
- gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(open_after_dl)), NULL);
+ g_settings_set_boolean(settings,"open-after-dl",
+ gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(open_after_dl)));
pref_window = GTK_WIDGET (gtk_builder_get_object(builder_pref,"pref_window"));
gtk_widget_hide(pref_window);
- gconf_client_set_string(gconf_client,"/apps/gwget2/download_dir",
- g_strdup(gtk_entry_get_text(GTK_ENTRY(save_in))),NULL);
- gconf_client_set_int(gconf_client,"/apps/gwget2/num_retries",
- atoi(gtk_entry_get_text(GTK_ENTRY(num_retries))),NULL);
- gconf_client_set_bool(gconf_client,"/apps/gwget2/resume_at_start",
- gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(resume)),NULL);
+ g_settings_set_string(settings,"download-dir",
+ g_strdup(gtk_entry_get_text(GTK_ENTRY(save_in))));
+ g_settings_set_int(settings,"num-retries",
+ atoi(gtk_entry_get_text(GTK_ENTRY(num_retries))));
+ g_settings_set_boolean(settings,"resume-at-start",
+ gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(resume)));
/* Limit Speed */
limit_speed_check = GTK_WIDGET (gtk_builder_get_object (builder_pref, "limit_speed_check"));
@@ -495,71 +508,71 @@ on_pref_ok_button_clicked(GtkWidget *widget,gpointer data)
inform_limit_speed_change();
}
gwget_pref.limit_speed = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(limit_speed_check));
- gconf_client_set_bool(gconf_client,"/apps/gwget2/limit_speed",
- gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(limit_speed_check)),NULL);
+ g_settings_set_boolean(settings,"limit-speed",
+ gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(limit_speed_check)));
gwget_pref.max_speed = gtk_spin_button_get_value_as_int (GTK_SPIN_BUTTON(limit_speed_spin));
- gconf_client_set_int(gconf_client,"/apps/gwget2/max_speed",
- gtk_spin_button_get_value_as_int (GTK_SPIN_BUTTON(limit_speed_spin)),NULL);
+ g_settings_set_int(settings,"max-speed",
+ gtk_spin_button_get_value_as_int (GTK_SPIN_BUTTON(limit_speed_spin)));
/* Limit Simultaneous downloads */
limit_simultaneousdownloads_check = GTK_WIDGET (gtk_builder_get_object (builder_pref, "limit_simultaneousdownloads_check"));
gwget_pref.limit_simultaneousdownloads = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(limit_simultaneousdownloads_check));
- gconf_client_set_bool(gconf_client,"/apps/gwget2/limit_simultaneousdownloads",
- gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(limit_simultaneousdownloads_check)),NULL);
+ g_settings_set_boolean(settings,"limit-simultaneousdownloads",
+ gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(limit_simultaneousdownloads_check)));
limit_simultaneousdownloads_spin = GTK_WIDGET (gtk_builder_get_object (builder_pref, "limit_simultaneousdownloads_spin"));
gwget_pref.max_simultaneousdownloads = gtk_spin_button_get_value_as_int (GTK_SPIN_BUTTON(limit_simultaneousdownloads_spin));
- gconf_client_set_int(gconf_client,"/apps/gwget2/max_simultaneousdownloads",
- gtk_spin_button_get_value_as_int (GTK_SPIN_BUTTON(limit_simultaneousdownloads_spin)),NULL);
+ g_settings_set_int(settings,"max-simultaneousdownloads",
+ gtk_spin_button_get_value_as_int (GTK_SPIN_BUTTON(limit_simultaneousdownloads_spin)));
/* Recursivity */
no_create_directories = GTK_WIDGET (gtk_builder_get_object(builder_pref,"no_create_directories"));
gwget_pref.no_create_directories = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(no_create_directories));
- gconf_client_set_bool(gconf_client,"/apps/gwget2/no_create_directories",
- gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(no_create_directories)),NULL);
+ g_settings_set_boolean(settings,"no-create-directories",
+ gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(no_create_directories)));
/* Follow relative links only */
follow_relative = GTK_WIDGET (gtk_builder_get_object(builder_pref,"follow_relative"));
gwget_pref.follow_relative = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(follow_relative));
- gconf_client_set_bool(gconf_client,"/apps/gwget2/follow_relative",gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(follow_relative)), NULL);
+ g_settings_set_boolean(settings,"follow-relative",gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(follow_relative)));
/* Convert links */
convert_links = GTK_WIDGET (gtk_builder_get_object(builder_pref,"convert_links"));
gwget_pref.follow_relative = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(convert_links));
- gconf_client_set_bool(gconf_client,"/apps/gwget2/convert_links",gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(convert_links)), NULL);
+ g_settings_set_boolean(settings,"convert-links",gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(convert_links)));
/* Download page requisites */
dl_page_requisites= GTK_WIDGET (gtk_builder_get_object(builder_pref,"dl_page_requisites"));
gwget_pref.follow_relative = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(dl_page_requisites));
- gconf_client_set_bool(gconf_client,"/apps/gwget2/dl_page_requisites", gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(dl_page_requisites)), NULL);
+ g_settings_set_boolean(settings,"dl-page-requisites", gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(dl_page_requisites)));
/* Max Depth */
max_depth=GTK_WIDGET (gtk_builder_get_object(builder_pref,"max_depth"));
gwget_pref.max_depth=gtk_spin_button_get_value_as_int(GTK_SPIN_BUTTON(max_depth));
- gconf_client_set_int(gconf_client,"/apps/gwget2/max_depth",gtk_spin_button_get_value_as_int(GTK_SPIN_BUTTON(max_depth)), NULL);
+ g_settings_set_int(settings,"max-depth",gtk_spin_button_get_value_as_int(GTK_SPIN_BUTTON(max_depth)));
/* Column listing */
gwget_pref.view_actual_size=gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(GTK_WIDGET (gtk_builder_get_object(builder_pref,"check_actual_size"))));
- gconf_client_set_bool(gconf_client,"/apps/gwget2/view_actual_size",
- gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(GTK_WIDGET (gtk_builder_get_object(builder_pref,"check_actual_size")))),NULL);
+ g_settings_set_boolean(settings,"view-actual-size",
+ gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(GTK_WIDGET (gtk_builder_get_object(builder_pref,"check_actual_size")))));
gwget_pref.view_total_size=gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(GTK_WIDGET (gtk_builder_get_object(builder_pref,"check_total_size"))));
- gconf_client_set_bool(gconf_client,"/apps/gwget2/view_total_size",
- gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(GTK_WIDGET (gtk_builder_get_object(builder_pref,"check_total_size")))),NULL);
+ g_settings_set_boolean(settings,"view-total-size",
+ gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(GTK_WIDGET (gtk_builder_get_object(builder_pref,"check_total_size")))));
gwget_pref.view_percentage=gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(GTK_WIDGET (gtk_builder_get_object(builder_pref,"check_percentage"))));
- gconf_client_set_bool(gconf_client,"/apps/gwget2/view_percentage",
- gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(GTK_WIDGET (gtk_builder_get_object(builder_pref,"check_percentage")))),NULL);
+ g_settings_set_boolean(settings,"view-percentage",
+ gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(GTK_WIDGET (gtk_builder_get_object(builder_pref,"check_percentage")))));
gwget_pref.view_elapse_time=gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(GTK_WIDGET (gtk_builder_get_object(builder_pref,"check_elapse_time"))));
- gconf_client_set_bool(gconf_client,"/apps/gwget2/view_elapse_time",
- gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(GTK_WIDGET (gtk_builder_get_object(builder_pref,"check_elapse_time")))),NULL);
+ g_settings_set_boolean(settings,"view-elapse-time",
+ gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(GTK_WIDGET (gtk_builder_get_object(builder_pref,"check_elapse_time")))));
gwget_pref.view_rem_time=gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(GTK_WIDGET (gtk_builder_get_object(builder_pref,"check_rem_time"))));
- gconf_client_set_bool(gconf_client,"/apps/gwget2/view_rem_time",
- gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(GTK_WIDGET (gtk_builder_get_object(builder_pref,"check_rem_time")))),NULL);
+ g_settings_set_boolean(settings,"view-rem-time",
+ gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(GTK_WIDGET (gtk_builder_get_object(builder_pref,"check_rem_time")))));
gwget_pref.view_down_speed=gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(GTK_WIDGET (gtk_builder_get_object(builder_pref,"check_down_speed"))));
- gconf_client_set_bool(gconf_client,"/apps/gwget2/view_down_speed",
- gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(GTK_WIDGET (gtk_builder_get_object(builder_pref,"check_down_speed")))),NULL);
+ g_settings_set_boolean(settings,"view-down-speed",
+ gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(GTK_WIDGET (gtk_builder_get_object(builder_pref,"check_down_speed")))));
}
@@ -660,7 +673,7 @@ on_remove_completed_activate(GtkWidget *widget, gpointer data)
response = run_dialog(_("Remove completed"),_("Really remove completed downloads from the list?"), GTK_STOCK_CANCEL, _("Remove"));
if (response == GTK_RESPONSE_OK) {
length=gtk_tree_model_iter_n_children(GTK_TREE_MODEL(model),NULL);
- gtk_tree_model_get_iter_root(model,&iter);
+ gtk_tree_model_get_iter_first(model,&iter);
for (i=0;i<length;i++) {
gtk_tree_model_get (model, &iter, URL_COLUMN, &url, -1);
gwgetdata=g_object_get_data(G_OBJECT(model),url);
@@ -694,7 +707,7 @@ on_remove_notrunning_activate(GtkWidget *widget, gpointer data)
response = run_dialog(_("Remove inactive"),_("Really remove inactive downloads from the list?"), GTK_STOCK_CANCEL, _("Remove inactive"));
if (response == GTK_RESPONSE_OK) {
length=gtk_tree_model_iter_n_children(GTK_TREE_MODEL(model),NULL);
- gtk_tree_model_get_iter_root(model,&iter);
+ gtk_tree_model_get_iter_first(model,&iter);
for (i=0;i<length;i++) {
gtk_tree_model_get (model, &iter, URL_COLUMN, &url, -1);
gwgetdata=g_object_get_data(G_OBJECT(model),url);
@@ -726,7 +739,7 @@ on_remove_all_activate(GtkWidget *widget, gpointer data)
response = run_dialog(_("Remove all"),_("Really remove all downloads from the list?"), GTK_STOCK_CANCEL, _("Remove all"));
if (response == GTK_RESPONSE_OK) {
length=gtk_tree_model_iter_n_children(GTK_TREE_MODEL(model),NULL);
- gtk_tree_model_get_iter_root(model,&iter);
+ gtk_tree_model_get_iter_first(model,&iter);
for (i=0;i<length;i++) {
gtk_tree_model_get (model, &iter, URL_COLUMN, &url, -1);
gwgetdata=g_object_get_data(G_OBJECT(model),url);
@@ -763,7 +776,7 @@ on_view_toolbar_activate(GtkWidget *widget,gpointer data)
} else {
gtk_widget_show(GTK_WIDGET(toolbar));
}
- gconf_client_set_bool(gconf_client,"/apps/gwget2/view_toolbar",state,NULL);
+ g_settings_set_boolean(settings,"view-toolbar",state);
}
void
@@ -782,7 +795,7 @@ on_view_statusbar_activate(GtkWidget *widget, gpointer data)
} else {
gtk_widget_show(GTK_WIDGET(statusbar));
}
- gconf_client_set_bool(gconf_client,"/apps/gwget2/view_statusbar",state,NULL);
+ g_settings_set_boolean(settings,"view-statusbar",state);
}
void
@@ -1096,7 +1109,7 @@ check_download_in_progress(void)
gboolean inprogress;
length = gtk_tree_model_iter_n_children(GTK_TREE_MODEL(model), NULL);
- gtk_tree_model_get_iter_root(model, &iter);
+ gtk_tree_model_get_iter_first(model, &iter);
inprogress = FALSE;
for (i=0;i<length;i++) {
@@ -1126,7 +1139,7 @@ start_first_waiting_download(void)
gchar *url;
length=gtk_tree_model_iter_n_children(GTK_TREE_MODEL(model),NULL);
- gtk_tree_model_get_iter_root(model,&iter);
+ gtk_tree_model_get_iter_first(model,&iter);
for (i=0;i<length;i++) {
gtk_tree_model_get (model, &iter, URL_COLUMN, &url, -1);
gwgetdata=g_object_get_data(G_OBJECT(model),url);
@@ -1223,7 +1236,7 @@ on_remove_download_activate (GtkWidget *widget, gpointer data)
response = run_dialog (message, _("Really remove this download from the list?"), GTK_STOCK_CANCEL, _("Remove download"));
if (response == GTK_RESPONSE_OK) {
length=gtk_tree_model_iter_n_children(GTK_TREE_MODEL(model),NULL);
- gtk_tree_model_get_iter_root(model,&iter);
+ gtk_tree_model_get_iter_first(model,&iter);
for (i=0;i<length;i++) {
gtk_tree_model_get (model, &iter, URL_COLUMN, &url, -1);
if (gwgetdata==g_object_get_data(G_OBJECT(model),url)) {
diff --git a/src/new_window.c b/src/new_window.c
index 6feec65..38c0a2c 100644
--- a/src/new_window.c
+++ b/src/new_window.c
@@ -23,7 +23,8 @@ This file creates the window for add new download and its callback
*/
-#include <gnome.h>
+#include <glib/gi18n.h>
+#include <gtk/gtk.h>
#include <config.h>
#include "new_window.h"
#include "main_window.h"
@@ -45,29 +46,25 @@ void on_ok_button_clicked(GtkWidget *widget, gpointer data)
window = GTK_WIDGET (gtk_builder_get_object(builder, "new_window"));
combo = GTK_WIDGET (gtk_builder_get_object (builder, "save_in_comboboxentry"));
- save_in_entry=GTK_ENTRY(GTK_BIN(combo)->child);
+ save_in_entry=GTK_ENTRY(gtk_bin_get_child(GTK_BIN(combo)));
- url=g_strstrip((gchar *)(gtk_entry_get_text (GTK_ENTRY(GTK_WIDGET (gtk_builder_get_object(builder, "url_entry"))))));
+ url=gtk_entry_get_text (GTK_ENTRY(GTK_WIDGET (gtk_builder_get_object(builder, "url_entry"))));
if (strcmp(url,"")) {
url = g_strdup(url);
- save_in=g_strdup(gtk_combo_box_get_active_text (GTK_COMBO_BOX( GTK_WIDGET (gtk_builder_get_object(builder, "save_in_comboboxentry")))));
-
- if (!strcmp(save_in,"") && gwget_pref.download_dir) {
- save_in=g_strdup(gwget_pref.download_dir);
- }
-
- if (!strcmp(save_in,"") && !gwget_pref.download_dir) {
- save_in=g_strdup(g_get_home_dir());
- }
-
+ url = g_strstrip(url);
+ }
+
+ if (strcmp(url,"")) {
+ save_in=g_strdup(gtk_entry_get_text (GTK_ENTRY(save_in_entry)));
save_in_list = g_strdup(save_in);
if (g_list_find_custom(save_in_paths, save_in, (GCompareFunc) strcmp)==NULL) {
save_in_paths = g_list_prepend (save_in_paths, save_in_list);
}
gwgetdata = gwget_data_create (url, save_in);
- gwget_data_add_download(gwgetdata);
- gwget_data_start_download(gwgetdata);
+ if (gwget_data_add_download(gwgetdata)) {
+ gwget_data_start_download(gwgetdata);
+ }
gtk_widget_hide(window);
g_free(save_in);
}
@@ -131,7 +128,7 @@ on_new_browse_save_in_button_clicked(GtkWidget *widget, gpointer data)
NULL);
combo = GTK_WIDGET (gtk_builder_get_object (builder, "save_in_comboboxentry"));
- save_in_entry=GTK_ENTRY(GTK_BIN(combo)->child);
+ save_in_entry=GTK_ENTRY(gtk_bin_get_child(GTK_BIN(combo)));
if (gtk_dialog_run (GTK_DIALOG (filesel)) == GTK_RESPONSE_ACCEPT) {
char *directory;
diff --git a/src/systray.c b/src/systray.c
index 18e71cb..04f12b1 100644
--- a/src/systray.c
+++ b/src/systray.c
@@ -1,6 +1,7 @@
#include <config.h>
-#include <gnome.h>
+#include <glib/gi18n.h>
+#include <gtk/gtk.h>
#include "main_window.h"
#include "gwget_data.h"
#include "systray.h"
@@ -109,9 +110,9 @@ systray_generate_menu(guint button, guint time)
item = gtk_image_menu_item_new_from_stock(GTK_STOCK_NEW, NULL);
gtk_menu_shell_append(GTK_MENU_SHELL(systray_menu), item);
- gtk_signal_connect (GTK_OBJECT (item), "activate",
- GTK_SIGNAL_FUNC(on_button_new_clicked),
- NULL);
+ g_signal_connect (G_OBJECT (item), "activate",
+ G_CALLBACK(on_button_new_clicked),
+ NULL);
gtk_widget_show(item);
downloads_menu = GTK_MENU(gtk_menu_new());
@@ -130,23 +131,23 @@ systray_generate_menu(guint button, guint time)
item = gtk_image_menu_item_new_from_stock(GTK_STOCK_PREFERENCES, NULL);
gtk_menu_shell_append(GTK_MENU_SHELL(systray_menu), item);
- gtk_signal_connect (GTK_OBJECT (item), "activate",
- GTK_SIGNAL_FUNC(on_boton_pref_clicked),
- NULL);
+ g_signal_connect (G_OBJECT (item), "activate",
+ G_CALLBACK(on_boton_pref_clicked),
+ NULL);
item = gtk_separator_menu_item_new();
gtk_menu_shell_append(GTK_MENU_SHELL(systray_menu), item);
item = gtk_image_menu_item_new_from_stock(GTK_STOCK_QUIT, NULL);
gtk_menu_shell_append(GTK_MENU_SHELL(systray_menu), item);
- gtk_signal_connect (GTK_OBJECT (item), "activate",
- GTK_SIGNAL_FUNC(gwget_quit),
- NULL);
+ g_signal_connect (G_OBJECT (item), "activate",
+ G_CALLBACK(gwget_quit),
+ NULL);
/* show */
gtk_widget_show_all(GTK_WIDGET(systray_menu));
gtk_menu_popup(GTK_MENU(systray_menu), NULL, NULL, NULL, NULL, button, time);
/* clean up */
- /* gtk_object_sink(GTK_OBJECT(menu)); */
+ /* gtk_object_sink(G_OBJECT(menu)); */
return TRUE;
@@ -158,9 +159,9 @@ pop_main_window()
GtkWidget *window;
window = GTK_WIDGET (gtk_builder_get_object(builder,"main_window"));
- if((gdk_window_get_state(GTK_WIDGET(window)->window) &
+ if((gdk_window_get_state(gtk_widget_get_window(window)) &
GDK_WINDOW_STATE_ICONIFIED) ||
- !GTK_WIDGET_VISIBLE(window))
+ !gtk_widget_get_visible(window))
gtk_window_present (GTK_WINDOW(window));
else
gtk_widget_hide (GTK_WIDGET(window));
@@ -224,7 +225,7 @@ gwget_tray_notify (gchar *primary, gchar *secondary, gchar *icon_name)
if (!notify_is_initted ())
if (!notify_init ("gwget"))
return;
- NotifyNotification *notification = notify_notification_new(primary,secondary,icon_name,NULL);
+ NotifyNotification *notification = notify_notification_new(primary,secondary,icon_name);
notify_notification_show(notification,NULL);
#endif
diff --git a/src/systray.h b/src/systray.h
index 40aac27..75c33c2 100644
--- a/src/systray.h
+++ b/src/systray.h
@@ -6,7 +6,11 @@ extern "C"
{
#endif
+#if GTK_CHECK_VERSION(3, 0, 0)
+#include <gtk/gtkx.h>
+#else
#include <gtk/gtkplug.h>
+#endif
#ifdef GDK_WINDOWING_X11
#include <gdk/gdkx.h>
#endif
diff --git a/src/utils.c b/src/utils.c
index c079bbf..9170fe1 100644
--- a/src/utils.c
+++ b/src/utils.c
@@ -13,7 +13,8 @@
* along with this program; if not, see <http://www.gnu.org/licenses/>.
*/
-#include <gnome.h>
+#include <string.h>
+#include <gtk/gtk.h>
#include "main_window.h"
#include "utils.h"
#include "gwget_data.h"
@@ -100,7 +101,7 @@ gboolean check_url_already_exists(gchar *checkurl)
gchar *url;
length=gtk_tree_model_iter_n_children(GTK_TREE_MODEL(model),NULL);
- gtk_tree_model_get_iter_root(model,&iter);
+ gtk_tree_model_get_iter_first(model,&iter);
for (i=0;i<length;i++) {
gtk_tree_model_get (model, &iter, URL_COLUMN, &url, -1);
gwgetdata=g_object_get_data(G_OBJECT(model),url);
@@ -132,7 +133,7 @@ gboolean check_server_already_exists(gchar *checkurl)
}
length=gtk_tree_model_iter_n_children(GTK_TREE_MODEL(model),NULL);
- gtk_tree_model_get_iter_root(model,&iter);
+ gtk_tree_model_get_iter_first(model,&iter);
for (i=0;i<length;i++) {
gtk_tree_model_get (model, &iter, URL_COLUMN, &url, -1);
gwgetdata=g_object_get_data(G_OBJECT(model),url);
diff --git a/src/wget-log.c b/src/wget-log.c
index 9e49c2f..1ae298b 100644
--- a/src/wget-log.c
+++ b/src/wget-log.c
@@ -24,7 +24,9 @@
#define _FILE_OFFSET_BITS 64
#include <config.h>
-#include <gnome.h>
+#include <stdlib.h>
+#include <glib/gi18n.h>
+#include <gtk/gtk.h>
#include <string.h>
#include <sys/stat.h>
#include <unistd.h>
@@ -149,6 +151,9 @@ wget_log_process_line (GwgetData *gwgetdata)
(strstr (gwgetdata->line, "Host not found.") == NULL) &&
(strstr (gwgetdata->line, "Name or service not known") == NULL))
break;
+
+ if (strncmp (gwgetdata->line, "converted ", 10) == 0)
+ break;
/* Wget, under certain circumstances, returns a list of resolved IP addresses
* before attempting to connect, which can be ignored.