--- yakuake-2.8-beta1/yakuake/src/main_window.cpp 2007-05-06 02:32:58.000000000 +0200 +++ yakuake-2.8-beta1/yakuake/src/main_window.cpp 2007-05-15 19:35:58.000000000 +0200 @@ -35,6 +35,8 @@ KMainWindow(parent, name, Qt::WStyle_Customize | Qt::WStyle_NoBorder), step(0) { + bool haveAccessKey = false; + first_run_dialog = 0; about_app = 0; about_kde = 0; @@ -206,11 +208,18 @@ connect(&desk_info, SIGNAL(workAreaChanged()), this, SLOT(slotUpdateSize())); // Startup notification popup. - if (Settings::popup() && !Settings::firstrun()) - showPopup(i18n("Application successfully started!\nPress %1 to use it...").arg(global_key->shortcut("AccessKey").toString())); - + if (Settings::popup() && !Settings::firstrun()) + { + QString _key = global_key->shortcut("AccessKey").toString(); + if (!_key.isEmpty()) + { + showPopup(i18n("Application successfully started!\nPress %1 to use it...").arg(_key)); + haveAccessKey = true; + } + } + // First run dialog. - if (Settings::firstrun()) + if (Settings::firstrun() || !haveAccessKey) { QTimer::singleShot(0, this, SLOT(slotToggleState())); QTimer::singleShot(0, this, SLOT(slotOpenFirstRunDialog())); @@ -1051,6 +1060,8 @@ global_key->updateConnections(); global_key->writeSettings(&config); + config.sync(); + slotDialogFinished(); } @@ -1066,6 +1077,8 @@ actionCollection()->writeShortcutSettings("Shortcuts", &config); + config.sync(); + slotDialogFinished(); } @@ -1179,6 +1192,7 @@ global_key->setShortcut("AccessKey", first_run_dialog_page->shortcut()); global_key->updateConnections(); global_key->writeSettings(&config); + config.sync(); } Settings::setFirstrun(false);