summaryrefslogtreecommitdiff
path: root/gtk/gtk_download.c
diff options
context:
space:
mode:
authorRob Kendrick <rjek@netsurf-browser.org>2007-10-02 22:22:17 +0000
committerRob Kendrick <rjek@netsurf-browser.org>2007-10-02 22:22:17 +0000
commit3c8c4e737890b9a0ab050a9d11fe156ef9fdc86f (patch)
tree6135a234479d23f989a5c1d3779a8e684e5a2a1b /gtk/gtk_download.c
parent09b1dcb23de70d19875796d955bc78add23fc7f7 (diff)
downloadnetsurf-3c8c4e737890b9a0ab050a9d11fe156ef9fdc86f.tar.gz
netsurf-3c8c4e737890b9a0ab050a9d11fe156ef9fdc86f.tar.bz2
Add mockup nsgtk downloads window and some support code, remove warning on recent nsgtk select changes
svn path=/trunk/netsurf/; revision=3619
Diffstat (limited to 'gtk/gtk_download.c')
-rw-r--r--gtk/gtk_download.c129
1 files changed, 129 insertions, 0 deletions
diff --git a/gtk/gtk_download.c b/gtk/gtk_download.c
new file mode 100644
index 000000000..ab16d6786
--- /dev/null
+++ b/gtk/gtk_download.c
@@ -0,0 +1,129 @@
+/*
+ * Copyright 2008 Rob Kendrick <rjek@netsurf-browser.org>
+ *
+ * This file is part of NetSurf, http://www.netsurf-browser.org/
+ *
+ * NetSurf is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; version 2 of the License.
+ *
+ * NetSurf is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+#include <gtk/gtk.h>
+
+#include "utils/log.h"
+
+#include "gtk/gtk_gui.h"
+#include "gtk/gtk_download.h"
+
+static GtkWindow *wndDownload;
+static GtkTreeView *treeDownloads;
+static GtkListStore *list_downloads;
+
+enum {
+ COLUMN_URL = 0,
+ COLUMN_DESTINATION,
+ COLUMN_PERCENTAGE,
+ COLUMN_DESCRIPTION,
+
+ N_COLUMNS
+};
+
+void nsgtk_downloadPause_clicked(GtkToolButton *button, gpointer data);
+
+static void nsgtk_download_add(const char *url, const char *dest, int prog, const char *desc)
+{
+ GtkTreeIter iter;
+
+ gtk_list_store_append(list_downloads, &iter);
+ gtk_list_store_set(list_downloads, &iter,
+ COLUMN_URL, url,
+ COLUMN_DESTINATION, dest,
+ COLUMN_PERCENTAGE, prog,
+ COLUMN_DESCRIPTION, desc,
+ -1);
+}
+
+void nsgtk_download_initialise(void)
+{
+ wndDownload = GTK_WINDOW(glade_xml_get_widget(gladeWindows,
+ "wndDownloads"));
+ treeDownloads = GTK_TREE_VIEW(glade_xml_get_widget(gladeWindows,
+ "treeDownloads"));
+
+ gtk_tool_item_set_expand(GTK_TOOL_ITEM(
+ glade_xml_get_widget(gladeWindows, "toolProgress")), TRUE);
+
+ list_downloads = gtk_list_store_new(N_COLUMNS,
+ G_TYPE_STRING, /* URL */
+ G_TYPE_STRING, /* Destination */
+ G_TYPE_INT, /* % complete */
+ G_TYPE_STRING /* time left */
+ );
+
+ gtk_tree_view_set_model(treeDownloads, GTK_TREE_MODEL(list_downloads));
+
+ gtk_tree_view_insert_column_with_attributes(treeDownloads, -1,
+ "URL",
+ gtk_cell_renderer_text_new(),
+ "ellipsize", PANGO_ELLIPSIZE_START,
+ "text",
+ COLUMN_URL,
+ NULL);
+
+/* gtk_tree_view_insert_column_with_attributes(treeDownloads, -1,
+ "Destination",
+ gtk_cell_renderer_text_new(),
+ "text",
+ COLUMN_DESTINATION,
+ NULL);*/
+
+ gtk_tree_view_insert_column_with_attributes(treeDownloads, -1,
+ "Progress",
+ gtk_cell_renderer_progress_new(),
+ "value",
+ COLUMN_PERCENTAGE,
+ NULL);
+
+ gtk_tree_view_insert_column_with_attributes(treeDownloads, -1,
+ "Details",
+ gtk_cell_renderer_text_new(),
+ "text",
+ COLUMN_DESCRIPTION,
+ NULL);
+
+ /* add some fake entries to play about with */
+ nsgtk_download_add("http://www.netsurf-browser.org/downloads/netsurf-1.0.zip",
+ "/home/rjek/Downloads/netsurf-1.0.zip",
+ 23,
+ "500kB of 2MB, 120kB/sec, 12 seconds");
+
+ nsgtk_download_add("http://www.rjek.com/gniggle.zip",
+ "/home/rjek/Downloads/gniggle.zip",
+ 68,
+ "20kB of 90kB, 63kB/sec, 2 seconds");
+
+ nsgtk_download_add("http://www.whopper.com/biggy.iso",
+ "/home/rjek/Downlaods/biggy.iso",
+ 2,
+ "2MB of 1923MB, 3kB/sec, 20 hours");
+
+}
+
+void nsgtk_download_show(void)
+{
+ gtk_widget_show_all(GTK_WIDGET(wndDownload));
+ gdk_window_raise(GTK_WIDGET(wndDownload)->window);
+}
+
+void nsgtk_downloadPause_clicked(GtkToolButton *button, gpointer data)
+{
+
+}