public:
TaskBarIcon ()
{
+#ifdef __WXMSW__
wxIcon icon (std_to_wx ("taskbar_icon"));
+#endif
+#ifdef __WXGTK__
+ wxInitAllImageHandlers();
+ wxBitmap bitmap (wxString::Format ("%s/taskbar_icon.png", POSIX_ICON_PREFIX), wxBITMAP_TYPE_PNG);
+ wxIcon icon;
+ icon.CopyFromBitmap (bitmap);
+#endif
SetIcon (icon, std_to_wx ("DVD-o-matic encode server"));
Connect (ID_status, wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler (TaskBarIcon::status));
App ()
: wxApp ()
, _thread (0)
+ , _icon (0)
{}
private:
bool OnInit ()
{
+ if (!wxApp::OnInit ()) {
+ return false;
+ }
+
dvdomatic_setup ();
- new TaskBarIcon;
-
+ _icon = new TaskBarIcon;
_thread = new thread (bind (&App::main_thread, this));
+
return true;
}
+ int OnExit ()
+ {
+ delete _icon;
+ return wxApp::OnExit ();
+ }
+
void main_thread ()
{
Server server (memory_log);
}
boost::thread* _thread;
+ TaskBarIcon* _icon;
};
IMPLEMENT_APP (App)
else:
conf.env.append_value('CXXFLAGS', '-DDVDOMATIC_POSIX')
conf.env.append_value('CXXFLAGS', '-DPOSIX_LOCALE_PREFIX="%s/share/locale"' % conf.env['PREFIX'])
+ conf.env.append_value('CXXFLAGS', '-DPOSIX_ICON_PREFIX="%s/share/dvdomatic"' % conf.env['PREFIX'])
boost_lib_suffix = ''
boost_thread = 'boost_thread'
conf.env.append_value('LINKFLAGS', '-pthread')
for r in ['22x22', '32x32', '48x48', '64x64', '128x128']:
bld.install_files('${PREFIX}/share/icons/hicolor/%s/apps' % r, 'icons/%s/dvdomatic.png' % r)
+ if not bld.env.TARGET_WINDOWS:
+ bld.install_files('${PREFIX}/share/dvdomatic', 'icons/taskbar_icon.png')
+
bld.add_post_fun(post)
def dist(ctx):