void FileTransferManager::showFileTransferWindow() { QMutexLocker locker(&mutex()); if (!m_window) m_window = m_injectedFactory->makeInjected<FileTransferWindow>(); _activateWindow(m_configuration, m_window.data()); }
void YourAccountsWindowService::show() { if (!m_yourAccounts) m_yourAccounts = m_injectedFactory->makeInjected<YourAccounts>(); m_yourAccounts->show(); _activateWindow(m_configuration, m_yourAccounts); }
//////////////////////////////////////////////////////////////////////////////// // 通过socket通讯实现程序单实例运行,监听到新的连接时触发该函数 //////////////////////////////////////////////////////////////////////////////// void QSingleApplication::_newLocalConnection() { QLocalSocket *socket = _localServer->nextPendingConnection(); if(socket) { socket->waitForReadyRead(2*TIME_OUT); delete socket; // 其他处理,如:读取启动参数 _activateWindow(); } }
void SingleWindow::tryActivateChatWidget(ChatWidget *chatWidget) { int index = m_tabs->indexOf(chatWidget); if (index < 0) return; _activateWindow(m_configuration, this); m_tabs->setCurrentIndex(index); chatWidget->edit()->setFocus(); }
void ConfigurationWindow::show() { if (!isVisible()) { widget()->beforeShow(); widget()->loadConfiguration(); QWidget::show(); } else { _activateWindow(m_configuration, this); } }
ChatWidget * TabsManager::addChat(Chat chat, OpenChatActivation activation) { kdebugf(); auto chatWidget = m_pluginInjectedFactory->makeInjected<ChatWidgetImpl>(chat, nullptr); setConfiguration(chatWidget); if (m_configuration->deprecatedApi()->readBoolEntry("Chat", "SaveOpenedWindows", true)) chatWidget->chat().addProperty("tabs:fix2626", true, CustomProperties::Storable); auto tmpAttached = chat.property("tabs:tmp-attached", false).toBool(); auto tmpDetached = chat.property("tabs:tmp-detached", false).toBool(); auto attached = chat.property("tabs:attached", false).toBool(); auto detached = chat.property("tabs:detached", false).toBool(); if (!tmpAttached && tmpDetached) { DetachedChats.append(chat); return chatWidget; } if (tmpAttached) { insertTab(chatWidget); } else if (!attached && detached) { DetachedChats.append(chat); } else if (attached || ConfigDefaultTabs) insertTab(chatWidget); if (TabDialog->count() == 1) // first tab { switch (activation) { case OpenChatActivation::Minimize: TabDialog->showMinimized(); break; default: TabDialog->show(); break; } } if (activation == OpenChatActivation::Activate) _activateWindow(m_configuration, TabDialog); return chatWidget; }
void HistoryWindowService::show(const Chat &chat) { auto buddyChat = m_buddyChatManager->buddyChat(chat); if (!buddyChat) buddyChat = chat; if (!m_historyWindow) m_historyWindow = m_pluginInjectedFactory->makeInjected<HistoryWindow>(); m_historyWindow->updateData(); m_historyWindow->selectChat(buddyChat); m_historyWindow->setVisible(true); _activateWindow(m_configuration, m_historyWindow); }
void HistoryWindow::show(History *history, const Chat &chat) { Chat buddyChat = BuddyChatManager::instance()->buddyChat(chat); if (!buddyChat) buddyChat = chat; if (!Instance) Instance = new HistoryWindow(history); Instance->updateData(); Instance->selectChat(buddyChat); Instance->setVisible(true); _activateWindow(Instance); }
void ChatWindow::alertNewMessage() { if (!_isActiveWindow(this)) { if (activateWithNewMessages && qApp->activeWindow() && !isMinimized()) { _activateWindow(this); } else if (blinkChatTitle) { if (!title_timer->isActive()) blinkTitle(); // blinking is able to show new messages also... } else if (showNewMessagesNum) // ... so we check this condition as 'else' showNewMessagesNumInTitle(); qApp->alert(this); // TODO: make notifier from this } else currentChatWidget->markAllMessagesRead(); }
void ChatDataWindow::show() { QWidget::show(); _activateWindow(this); }
static void kadu_signal_handler(int signal) { kdebugmf(KDEBUG_WARNING, "%d\n", signal); static int sigsegvCount = 0; if (sigsegvCount > 1) { kdebugmf(KDEBUG_WARNING, "sigsegv recursion: %d\n", sigsegvCount); abort(); } if (signal == SIGSEGV) { ++sigsegvCount; kdebugm(KDEBUG_PANIC, "Kadu crashed :(\n"); CrashAwareObject::notifyCrash(); QString backtraceFileName = QStringLiteral("kadu.backtrace.") + QDateTime::currentDateTime().toString("yyyy.MM.dd.hh.mm.ss"); #if HAVE_EXECINFO void *backtraceArray[100]; char **backtraceStrings; int numEntries; if ((numEntries = backtrace(backtraceArray, 100)) < 0) { kdebugm(KDEBUG_PANIC, "could not generate backtrace\n"); abort(); } if (!(backtraceStrings = backtrace_symbols(backtraceArray, numEntries))) { kdebugm(KDEBUG_PANIC, "could not get symbol names for backtrace\n"); abort(); } fprintf(stderr, "\n======= BEGIN OF BACKTRACE =====\n"); for (int i = 0; i < numEntries; ++i) fprintf(stderr, "[%d] %s\n", i, backtraceStrings[i]); fprintf(stderr, "======= END OF BACKTRACE ======\n"); fflush(stderr); FILE *backtraceFile = fopen(qPrintable(QString(g_pathsProvider->profilePath() + backtraceFileName)), "w"); if (backtraceFile) { fprintf(backtraceFile, "======= BEGIN OF BACKTRACE =====\n"); for (int i = 0; i < numEntries; ++i) fprintf(backtraceFile, "[%d] %s\n", i, backtraceStrings[i]); fprintf(backtraceFile, "======= END OF BACKTRACE ======\n"); fprintf(backtraceFile, "loaded plugins:\n"); auto pluginNames = g_pluginActivationService->activePlugins(); for (auto const &pluginName : pluginNames) fprintf(backtraceFile, "> %s\n", qPrintable(pluginName)); fprintf(backtraceFile, "Kadu version: %s\n", qPrintable(g_versionService->version())); fprintf(backtraceFile, "Qt compile time version: %s\nQt runtime version: %s\n", QT_VERSION_STR, qVersion()); #ifdef __GNUC__ fprintf(backtraceFile, "GCC version: %d.%d.%d\n", __GNUC__, __GNUC_MINOR__, __GNUC_PATCHLEVEL__); #endif // __GNUC__ fprintf(backtraceFile, "EOF\n"); fclose(backtraceFile); } free(backtraceStrings); #else // HAVE_EXECINFO kdebugm(KDEBUG_PANIC, "backtrace not available\n"); #endif // HAVE_EXECINFO g_application->backupConfiguration(); abort(); } else if (signal == SIGUSR1) { kdebugm(KDEBUG_INFO, "ok, got a signal to show up\n"); _activateWindow(g_configuration, g_kaduWindowService->kaduWindow()); } else if (signal == SIGINT || signal == SIGTERM) QCoreApplication::quit(); }
void YourAccounts::show() { QWidget::show(); _activateWindow(this); }