#include <gtk/gtk.h>
#include <hildon/hildon.h>
+#include <libosso.h>
+
#include <getopt.h>
#include <string>
#include <vector>
#include "conf.hpp"
#include "dictmngr.hpp"
#include "libwrapper.hpp"
+#include "prefsdlg.hpp"
#include "transwin.hpp"
+#include "tts.hpp"
#include "mstardict.hpp"
MStarDict *pMStarDict;
results_view = NULL;
results_view_scroll = NULL;
+ osso_context = osso_initialize("org.maemo.mstardict", VERSION, TRUE, NULL);
+
/* create list of ressults */
results_list = gtk_list_store_new(N_COLUMNS,
G_TYPE_STRING); /* DEF_COLUMN */
/* initialize stardict plugins */
std::list < std::string > plugin_order_list;
std::list < std::string > plugin_disable_list;
- oStarDictPlugins = new StarDictPlugins("/usr/lib/mstardict/plugins",
- plugin_order_list,
- plugin_disable_list);
+ oPlugins = new StarDictPlugins("/usr/lib/mstardict/plugins",
+ plugin_order_list,
+ plugin_disable_list);
/* initialize dict manager */
oDict = new DictMngr(this);
+ /* initialize prefs dialog */
+ oPrefs = new PrefsDlg(this);
+
/* initialize translation window */
oTransWin = new TransWin(this);
+ /* initialize tts */
+ oTts = new Tts(this);
+
/* initialize stardict library */
oLibs = new Library(this);
}
/* deinitialize stardict library */
delete oLibs;
+ /* deinitialize tts */
+ delete oTts;
+
/* deinitialize translation window */
delete oTransWin;
+ /* deinitialize prefs dialog */
+ delete oPrefs;
+
/* deinitialize dict manager */
delete oDict;
/* deinitialize stardict plugins */
- delete oStarDictPlugins;
+ delete oPlugins;
/* deinitialize configuration */
delete oConf;
+
+ /* deinitialize osso context */
+ osso_deinitialize(osso_context);
}
gboolean
}
gboolean
+MStarDict::onDownloadDictionariesMenuItemClicked(GtkButton *button,
+ MStarDict *mStarDict)
+{
+ osso_rpc_run(mStarDict->osso_context,
+ "com.nokia.osso_browser",
+ "/com/nokia/osso_browser",
+ "com.nokia.osso_browser",
+ "open_new_window",
+ NULL,
+ DBUS_TYPE_STRING, "http://xdxf.revdanica.com/down2/index.php?down_format=StarDict",
+ DBUS_TYPE_INVALID);
+ return true;
+}
+
+gboolean
+MStarDict::onPreferencesMenuItemClicked(GtkButton *button,
+ MStarDict *mStarDict)
+{
+ mStarDict->oPrefs->CreatePrefsDialog();
+ return true;
+}
+
+gboolean
MStarDict::onQuitMenuItemClicked(GtkButton *button,
MStarDict *mStarDict)
{
}
GtkWidget *
+MStarDict::GetMainWindow()
+{
+ return window;
+}
+
+GtkWidget *
MStarDict::CreateSearchBar()
{
GtkWidget *hbox, *entry, *button;
hildon_app_menu_append(menu, GTK_BUTTON(item));
g_signal_connect(item, "clicked", G_CALLBACK(onDictionariesMenuItemClicked), this);
+ /* download dictionaries menu item */
+ item = hildon_gtk_button_new(HILDON_SIZE_AUTO);
+ gtk_button_set_label(GTK_BUTTON(item), _("Download dictionaries"));
+ hildon_app_menu_append(menu, GTK_BUTTON(item));
+ g_signal_connect(item, "clicked", G_CALLBACK(onDownloadDictionariesMenuItemClicked), this);
+
+ /* preferences menu item */
+ item = hildon_gtk_button_new(HILDON_SIZE_AUTO);
+ gtk_button_set_label(GTK_BUTTON(item), _("Preferences"));
+ hildon_app_menu_append(menu, GTK_BUTTON(item));
+ g_signal_connect(item, "clicked", G_CALLBACK(onPreferencesMenuItemClicked), this);
+
/* quit menu item */
item = hildon_gtk_button_new(HILDON_SIZE_AUTO);
gtk_button_set_label(GTK_BUTTON(item), _("Quit"));