relocate.h \
stats.h \
torrent-cell-renderer.h \
+ transmission-resources.h \
tr-core.h \
tr-icon.h \
tr-prefs.h \
tr-window.h \
- ui.h \
util.h
bin_PROGRAMS = transmission-gtk
relocate.c \
stats.c \
torrent-cell-renderer.c \
+ transmission-resources.c \
tr-core.c \
tr-icon.c \
tr-prefs.c \
icon_DATA = transmission.png
icondir = $(datadir)/pixmaps
+UI_FILES = transmission-ui.xml
+
+transmission-resources.c: transmission.gresource.xml $(UI_FILES)
+ glib-compile-resources --target=$@ --sourcedir=$(srcdir) \
+ --generate-source --c-name transmission $<
+
+transmission-resources.h: transmission.gresource.xml
+ glib-compile-resources --target=$@ --sourcedir=$(srcdir) \
+ --generate-header --c-name transmission $<
+
EXTRA_DIST = \
$(DESKTOP_IN_FILES) \
transmission.png
$(WINDRES) -J rc -i transmission.rc -O coff -o transmission.res
BUILT_SOURCES = \
- setransmission.res
+ setransmission.res \
+ transmission-resources.c \
+ transmission-resources.h
CLEANFILES = \
- transmission.res
+ setransmission.res \
+ transmission-resources.c \
+ transmission-resources.h
transmission_gtk_LDADD += \
transmission.res
#include "tr-prefs.h"
#include "tr-window.h"
#include "util.h"
-#include "ui.h"
#define MY_CONFIG_NAME "transmission"
#define MY_READABLE_NAME "transmission-gtk"
+#define TR_RESOURCE_PATH "/com/transmissionbt/transmission/"
+
#define SHOW_LICENSE
static const char * LICENSE =
"The OS X client, CLI client, and parts of libtransmission are licensed under the terms of the MIT license.\n\n"
static void
on_startup( GApplication * application, gpointer user_data )
{
+ GError * error;
const char * str;
GtkWindow * win;
GtkUIManager * ui_manager;
cbdata->core = gtr_core_new( session );
/* init the ui manager */
+ error = NULL;
ui_manager = gtk_ui_manager_new ( );
gtr_actions_init ( ui_manager, cbdata );
- gtk_ui_manager_add_ui_from_string ( ui_manager, fallback_ui_file, -1, NULL );
+ gtk_ui_manager_add_ui_from_resource ( ui_manager, TR_RESOURCE_PATH "transmission-ui.xml", &error );
+ g_assert_no_error (error);
gtk_ui_manager_ensure_update ( ui_manager );
/* create main window now to be a parent to any error dialogs */
--- /dev/null
+<ui>
+ <menubar name='main-window-menu'>
+ <menu action='file-menu'>
+ <menuitem action='open-torrent-menu'/>
+ <menuitem action='open-torrent-from-url'/>
+ <menuitem action='new-torrent'/>
+ <separator/>
+ <menuitem action='start-all-torrents'/>
+ <menuitem action='pause-all-torrents'/>
+ <separator/>
+ <menuitem action='quit'/>
+ </menu>
+ <menu action='edit-menu'>
+ <menuitem action='select-all'/>
+ <menuitem action='deselect-all'/>
+ <separator/>
+ <menuitem action='edit-preferences'/>
+ </menu>
+ <menu action='torrent-menu'>
+ <menuitem action='show-torrent-properties'/>
+ <menuitem action='open-torrent-folder'/>
+ <separator/>
+ <menuitem action='torrent-start'/>
+ <menuitem action='torrent-start-now'/>
+ <menuitem action='torrent-reannounce'/>
+ <menu action='queue-menu'>
+ <menuitem action='queue-move-top'/>
+ <menuitem action='queue-move-up'/>
+ <menuitem action='queue-move-down'/>
+ <menuitem action='queue-move-bottom'/>
+ </menu>
+ <menuitem action='torrent-stop'/>
+ <separator/>
+ <menuitem action='relocate-torrent'/>
+ <menuitem action='torrent-verify'/>
+ <menuitem action='copy-magnet-link-to-clipboard'/>
+ <separator/>
+ <menuitem action='remove-torrent'/>
+ <menuitem action='delete-torrent'/>
+ </menu>
+ <menu action='view-menu'>
+ <menuitem action='compact-view'/>
+ <separator/>
+ <menuitem action='show-toolbar'/>
+ <menuitem action='show-filterbar'/>
+ <menuitem action='show-statusbar'/>
+ <separator/>
+ <menuitem action='sort-by-activity'/>
+ <menuitem action='sort-by-age'/>
+ <menuitem action='sort-by-name'/>
+ <menuitem action='sort-by-progress'/>
+ <menuitem action='sort-by-queue'/>
+ <menuitem action='sort-by-ratio'/>
+ <menuitem action='sort-by-size'/>
+ <menuitem action='sort-by-state'/>
+ <menuitem action='sort-by-time-left'/>
+ <separator/>
+ <menuitem action='sort-reversed'/>
+ </menu>
+ <menu action='help-menu'>
+ <menuitem action='toggle-message-log'/>
+ <menuitem action='show-stats'/>
+ <separator/>
+ <menuitem action='donate'/>
+ <separator/>
+ <menuitem action='help'/>
+ <menuitem action='show-about-dialog'/>
+ </menu>
+ </menubar>
+
+ <toolbar name='main-window-toolbar'>
+ <toolitem action='open-torrent-toolbar'/>
+ <toolitem action='torrent-start'/>
+ <toolitem action='torrent-stop'/>
+ <toolitem action='remove-torrent'/>
+ <separator/>
+ <toolitem action='show-torrent-properties'/>
+ </toolbar>
+
+ <popup name='main-window-popup'>
+ <menuitem action='show-torrent-properties'/>
+ <menuitem action='open-torrent-folder'/>
+ <separator/>
+ <menu action='sort-menu'>
+ <menuitem action='sort-by-activity'/>
+ <menuitem action='sort-by-age'/>
+ <menuitem action='sort-by-name'/>
+ <menuitem action='sort-by-progress'/>
+ <menuitem action='sort-by-ratio'/>
+ <menuitem action='sort-by-size'/>
+ <menuitem action='sort-by-state'/>
+ <menuitem action='sort-by-time-left'/>
+ <separator/>
+ <menuitem action='sort-reversed'/>
+ </menu>
+ <separator/>
+ <menuitem action='torrent-start'/>
+ <menuitem action='torrent-start-now'/>
+ <menuitem action='torrent-reannounce'/>
+ <menu action='queue-menu'>
+ <menuitem action='queue-move-top'/>
+ <menuitem action='queue-move-up'/>
+ <menuitem action='queue-move-down'/>
+ <menuitem action='queue-move-bottom'/>
+ </menu>
+ <menuitem action='torrent-stop'/>
+ <separator/>
+ <menuitem action='relocate-torrent'/>
+ <menuitem action='torrent-verify'/>
+ <menuitem action='copy-magnet-link-to-clipboard'/>
+ <separator/>
+ <menuitem action='remove-torrent'/>
+ <menuitem action='delete-torrent'/>
+ </popup>
+
+ <popup name='icon-popup'>
+ <menuitem action='toggle-main-window'/>
+ <separator/>
+ <menuitem action='open-torrent-menu'/>
+ <menuitem action='open-torrent-from-url'/>
+ <separator/>
+ <menuitem action='pause-all-torrents'/>
+ <menuitem action='start-all-torrents'/>
+ <separator/>
+ <menuitem action='alt-speed-enabled'/>
+ <separator/>
+ <menuitem action='quit'/>
+ </popup>
+</ui>
--- /dev/null
+<?xml version="1.0" encoding="UTF-8"?>
+<gresources>
+ <gresource prefix="/com/transmissionbt/transmission">
+ <file>transmission-ui.xml</file>
+ </gresource>
+</gresources>
+++ /dev/null
-static const char * fallback_ui_file =
- "<ui>\n"
- " <menubar name='main-window-menu'>\n"
- " <menu action='file-menu'>\n"
- " <menuitem action='open-torrent-menu'/>\n"
- " <menuitem action='open-torrent-from-url'/>\n"
- " <menuitem action='new-torrent'/>\n"
- " <separator/>\n"
- " <menuitem action='start-all-torrents'/>\n"
- " <menuitem action='pause-all-torrents'/>\n"
- " <separator/>\n"
- " <menuitem action='quit'/>\n"
- " </menu>\n"
- " <menu action='edit-menu'>\n"
- " <menuitem action='select-all'/>\n"
- " <menuitem action='deselect-all'/>\n"
- " <separator/>\n"
- " <menuitem action='edit-preferences'/>\n"
- " </menu>\n"
- " <menu action='torrent-menu'>\n"
- " <menuitem action='show-torrent-properties'/>\n"
- " <menuitem action='open-torrent-folder'/>\n"
- " <separator/>\n"
- " <menuitem action='torrent-start'/>\n"
- " <menuitem action='torrent-start-now'/>\n"
- " <menuitem action='torrent-reannounce'/>\n"
- " <menu action='queue-menu'>\n"
- " <menuitem action='queue-move-top'/>\n"
- " <menuitem action='queue-move-up'/>\n"
- " <menuitem action='queue-move-down'/>\n"
- " <menuitem action='queue-move-bottom'/>\n"
- " </menu>\n"
- " <menuitem action='torrent-stop'/>\n"
- " <separator/>\n"
- " <menuitem action='relocate-torrent'/>\n"
- " <menuitem action='torrent-verify'/>\n"
- " <menuitem action='copy-magnet-link-to-clipboard'/>\n"
- " <separator/>\n"
- " <menuitem action='remove-torrent'/>\n"
- " <menuitem action='delete-torrent'/>\n"
- " </menu>\n"
- " <menu action='view-menu'>\n"
- " <menuitem action='compact-view'/>\n"
- " <separator/>\n"
- " <menuitem action='show-toolbar'/>\n"
- " <menuitem action='show-filterbar'/>\n"
- " <menuitem action='show-statusbar'/>\n"
- " <separator/>\n"
- " <menuitem action='sort-by-activity'/>\n"
- " <menuitem action='sort-by-age'/>\n"
- " <menuitem action='sort-by-name'/>\n"
- " <menuitem action='sort-by-progress'/>\n"
- " <menuitem action='sort-by-queue'/>\n"
- " <menuitem action='sort-by-ratio'/>\n"
- " <menuitem action='sort-by-size'/>\n"
- " <menuitem action='sort-by-state'/>\n"
- " <menuitem action='sort-by-time-left'/>\n"
- " <separator/>\n"
- " <menuitem action='sort-reversed'/>\n"
- " </menu>\n"
- " <menu action='help-menu'>\n"
- " <menuitem action='toggle-message-log'/>\n"
- " <menuitem action='show-stats'/>\n"
- " <separator/>\n"
- " <menuitem action='donate'/>\n"
- " <separator/>\n"
- " <menuitem action='help'/>\n"
- " <menuitem action='show-about-dialog'/>\n"
- " </menu>\n"
- " </menubar>\n"
- "\n"
- " <toolbar name='main-window-toolbar'>\n"
- " <toolitem action='open-torrent-toolbar'/>\n"
- " <toolitem action='torrent-start'/>\n"
- " <toolitem action='torrent-stop'/>\n"
- " <toolitem action='remove-torrent'/>\n"
- " <separator/>\n"
- " <toolitem action='show-torrent-properties'/>\n"
- " </toolbar>\n"
- "\n"
- " <popup name='main-window-popup'>\n"
- " <menuitem action='show-torrent-properties'/>\n"
- " <menuitem action='open-torrent-folder'/>\n"
- " <separator/>\n"
- " <menu action='sort-menu'>\n"
- " <menuitem action='sort-by-activity'/>\n"
- " <menuitem action='sort-by-age'/>\n"
- " <menuitem action='sort-by-name'/>\n"
- " <menuitem action='sort-by-progress'/>\n"
- " <menuitem action='sort-by-ratio'/>\n"
- " <menuitem action='sort-by-size'/>\n"
- " <menuitem action='sort-by-state'/>\n"
- " <menuitem action='sort-by-time-left'/>\n"
- " <separator/>\n"
- " <menuitem action='sort-reversed'/>\n"
- " </menu>\n"
- " <separator/>\n"
- " <menuitem action='torrent-start'/>\n"
- " <menuitem action='torrent-start-now'/>\n"
- " <menuitem action='torrent-reannounce'/>\n"
- " <menu action='queue-menu'>\n"
- " <menuitem action='queue-move-top'/>\n"
- " <menuitem action='queue-move-up'/>\n"
- " <menuitem action='queue-move-down'/>\n"
- " <menuitem action='queue-move-bottom'/>\n"
- " </menu>\n"
- " <menuitem action='torrent-stop'/>\n"
- " <separator/>\n"
- " <menuitem action='relocate-torrent'/>\n"
- " <menuitem action='torrent-verify'/>\n"
- " <menuitem action='copy-magnet-link-to-clipboard'/>\n"
- " <separator/>\n"
- " <menuitem action='remove-torrent'/>\n"
- " <menuitem action='delete-torrent'/>\n"
- " </popup>\n"
- "\n"
- " <popup name='icon-popup'>\n"
- " <menuitem action='toggle-main-window'/>\n"
- " <separator/>\n"
- " <menuitem action='open-torrent-menu'/>\n"
- " <menuitem action='open-torrent-from-url'/>\n"
- " <separator/>\n"
- " <menuitem action='pause-all-torrents'/>\n"
- " <menuitem action='start-all-torrents'/>\n"
- " <separator/>\n"
- " <menuitem action='alt-speed-enabled'/>\n"
- " <separator/>\n"
- " <menuitem action='quit'/>\n"
- " </popup>\n"
- "\n"
- "</ui>";
-