X-Git-Url: http://git.maemo.org/git/?a=blobdiff_plain;f=src%2Fmstardict.cpp;h=4e71e2d5b26086ca82c474e5c72b4fa133d19fdb;hb=refs%2Ftags%2Fv0.4-1;hp=1ea7cb4dc82585f9233cdd9cdd7c07682ba9ef20;hpb=ea60e415d221d363d9a0c3ba4ac15ddc7d606bbc;p=mstardict diff --git a/src/mstardict.cpp b/src/mstardict.cpp index 1ea7cb4..4e71e2d 100644 --- a/src/mstardict.cpp +++ b/src/mstardict.cpp @@ -51,6 +51,8 @@ #include "libwrapper.hpp" #include "mstardict.hpp" +MStarDict *pMStarDict; + enum { DEF_COLUMN, N_COLUMNS @@ -71,6 +73,13 @@ MStarDict::MStarDict() /* initialize configuration */ oConf = new Conf(); + /* 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); + /* initialize dict manager */ oDict = new DictMngr(this); @@ -89,6 +98,9 @@ MStarDict::~MStarDict() /* deinitialize dict manager */ delete oDict; + /* deinitialize stardict plugins */ + delete oStarDictPlugins; + /* deinitialize configuration */ delete oConf; } @@ -138,7 +150,7 @@ MStarDict::onResultsViewSelectionChanged(GtkTreeSelection *selection, } /* grab focus to search entry */ - gtk_widget_grab_focus(GTK_WIDGET(mStarDict->search)); + mStarDict->GrabFocus(); return true; } @@ -240,6 +252,8 @@ MStarDict::onMainWindowKeyPressEvent(GtkWidget *window, { if (event->type == GDK_KEY_PRESS && event->keyval == GDK_KP_Enter) { mStarDict->SearchWord(); + } else if (event->type == GDK_KEY_PRESS && event->keyval >= 0x21 && event->keyval <= 0x7E) { + mStarDict->GrabFocus(); } return false; } @@ -260,7 +274,7 @@ MStarDict::CreateLookupProgressDialog(bool *cancel) /* add progress bar */ progress = gtk_progress_bar_new(); gtk_container_add(GTK_CONTAINER(GTK_DIALOG(dialog)->vbox), progress); - g_object_set_data(G_OBJECT(dialog), "progress", progress); + g_object_set_data(G_OBJECT(dialog), "progress_bar", progress); /* show dialog */ gtk_widget_show_all(dialog); @@ -374,7 +388,11 @@ MStarDict::CreateMainWindow() gtk_tree_view_insert_column_with_attributes(GTK_TREE_VIEW (results_view), -1, "Def", renderer, "text", DEF_COLUMN, NULL); - g_object_set(G_OBJECT(renderer), "xpad", 10, NULL); + g_object_set(G_OBJECT(renderer), + "xpad", 10, + "ellipsize", PANGO_ELLIPSIZE_END, + "ellipsize-set", TRUE, + NULL); /* search entry */ search = hildon_entry_new(HILDON_SIZE_FINGER_HEIGHT); @@ -389,7 +407,7 @@ MStarDict::CreateMainWindow() gtk_widget_show_all(GTK_WIDGET(main_window)); /* grab focus to search entry */ - gtk_widget_grab_focus(GTK_WIDGET(search)); + GrabFocus(); } void @@ -517,6 +535,12 @@ MStarDict::ShowProgressIndicator(bool bShow) hildon_gtk_window_set_progress_indicator(GTK_WINDOW(main_window), 0); } +void +MStarDict::GrabFocus() +{ + gtk_widget_grab_focus(GTK_WIDGET(search)); +} + int main(int argc, char **argv) @@ -532,6 +556,7 @@ main(int argc, /* create main window */ MStarDict mStarDict; + pMStarDict = &mStarDict; mStarDict.CreateMainWindow(); mStarDict.CreateMainMenu(); mStarDict.ShowNoResults(true);