GenericChatroomWidget::GenericChatroomWidget(bool compact, QWidget* parent) : GenericChatItemWidget(compact, parent) , active{false} { // avatar QSize size; if (isCompact()) size = QSize(20, 20); else size = QSize(40, 40); avatar = new MaskablePixmapWidget(this, size, ":/img/avatar_mask.svg"); // status text statusMessageLabel = new CroppingLabel(this); statusMessageLabel->setTextFormat(Qt::PlainText); statusMessageLabel->setForegroundRole(QPalette::WindowText); nameLabel->setForegroundRole(QPalette::WindowText); Settings& s = Settings::getInstance(); connect(&s, &Settings::compactLayoutChanged, this, &GenericChatroomWidget::compactChange); setAutoFillBackground(true); reloadTheme(); compactChange(isCompact()); }
void Bubble::init() { m_svg->resize(geometry().width(), geometry().height()); m_sensorModel = new QStandardItemModel(this); connect(Plasma::Theme::defaultTheme(), SIGNAL(themeChanged()), this, SLOT(reloadTheme())); m_animator = new QTimer(this); m_animator->setInterval(75); connect(m_animator, SIGNAL(timeout()), this, SLOT(moveBubbles())); m_interpolator = new QTimeLine(m_speed, this); connect(m_interpolator, SIGNAL(frameChanged(int)), this, SLOT(interpolateValue())); m_engine = dataEngine("systemmonitor"); if (!m_engine->isValid()) { setFailedToLaunch(true, i18nc("@info:status The system monitor data engine could not be found or loaded", "Could not load the System Monitor data engine.")); } else { connect(m_engine, SIGNAL(sourceAdded(QString)), this, SLOT(connectSensor())); } configChanged(); m_bubbleRect = m_svg->elementSize("bubble"); }
Theme::Theme(QObject *parent) : QObject(parent) , m_currentTheme(LightTheme) { reloadTheme(); connect(this, &Theme::currentThemeChanged, this, &Theme::reloadTheme); }
bool KdeEmoticonsProvider::removeEmoticon(const QStringList &codes) { if (m_theme.removeEmoticon(codes.join(" "))) { reloadTheme(); return true; } return false; }
void ContentLayout::init() { setMargin(0); setSpacing(0); mainHead = new QWidget(); mainHead->setLayout(new QVBoxLayout); mainHead->setSizePolicy(QSizePolicy::MinimumExpanding, QSizePolicy::Fixed); mainHead->layout()->setMargin(0); mainHead->layout()->setSpacing(0); mainHead->setMouseTracking(true); mainHLine.setFrameShape(QFrame::HLine); mainHLine.setFrameShadow(QFrame::Plain); QPalette palette = mainHLine.palette(); palette.setBrush(QPalette::WindowText, QBrush(QColor(193, 193, 193))); mainHLine.setPalette(palette); mainContent = new QWidget(); mainContent->setLayout(new QVBoxLayout); mainContent->setSizePolicy(QSizePolicy::MinimumExpanding, QSizePolicy::MinimumExpanding); if (QStyleFactory::keys().contains(Settings::getInstance().getStyle()) && Settings::getInstance().getStyle() != "None") { mainHead->setStyle(QStyleFactory::create(Settings::getInstance().getStyle())); mainContent->setStyle(QStyleFactory::create(Settings::getInstance().getStyle())); } reloadTheme(); mainHLineLayout.addSpacing(4); mainHLineLayout.addWidget(&mainHLine); mainHLineLayout.addSpacing(5); addWidget(mainHead); addLayout(&mainHLineLayout); addWidget(mainContent); }
GenericChatroomWidget::GenericChatroomWidget(QWidget *parent) : QFrame(parent), compact{Settings::getInstance().getCompactLayout()}, active{false} { // avatar if (compact) avatar = new MaskablePixmapWidget(this, QSize(20,20), ":/img/avatar_mask.svg"); else avatar = new MaskablePixmapWidget(this, QSize(40,40), ":/img/avatar_mask.svg"); // status text statusMessageLabel = new CroppingLabel(this); statusMessageLabel->setTextFormat(Qt::PlainText); statusMessageLabel->setForegroundRole(QPalette::WindowText); // name text nameLabel = new CroppingLabel(this); nameLabel->setTextFormat(Qt::PlainText); nameLabel->setForegroundRole(QPalette::WindowText); setAutoFillBackground(true); reloadTheme(); setCompact(compact); }
void Widget::init() { ui->setupUi(this); timer = new QTimer(); timer->start(1000); offlineMsgTimer = new QTimer(); offlineMsgTimer->start(15000); //restore window state restoreGeometry(Settings::getInstance().getWindowGeometry()); restoreState(Settings::getInstance().getWindowState()); ui->mainSplitter->restoreState(Settings::getInstance().getSplitterState()); statusOnline = new QAction(tr("Online", "Button to set your status to 'Online'"), this); statusOnline->setIcon(getStatusIcon(Status::Online, 10, 10)); connect(statusOnline, SIGNAL(triggered()), this, SLOT(setStatusOnline())); statusAway = new QAction(tr("Away", "Button to set your status to 'Away'"), this); statusAway->setIcon(getStatusIcon(Status::Away, 10, 10)); connect(statusAway, SIGNAL(triggered()), this, SLOT(setStatusAway())); statusBusy = new QAction(tr("Busy", "Button to set your status to 'Busy'"), this); statusBusy->setIcon(getStatusIcon(Status::Busy, 10, 10)); connect(statusBusy, SIGNAL(triggered()), this, SLOT(setStatusBusy())); ui->statusbar->hide(); ui->menubar->hide(); layout()->setContentsMargins(0, 0, 0, 0); ui->friendList->setStyleSheet(Style::resolve(Style::getStylesheet(":ui/friendList/friendList.css"))); profilePicture = new MaskablePixmapWidget(this, QSize(40, 40), ":/img/avatar_mask.svg"); profilePicture->setPixmap(QPixmap(":/img/contact_dark.svg")); profilePicture->setClickable(true); ui->myProfile->insertWidget(0, profilePicture); ui->myProfile->insertSpacing(1, 7); ui->mainContent->setLayout(new QVBoxLayout()); ui->mainHead->setLayout(new QVBoxLayout()); ui->mainHead->layout()->setMargin(0); ui->mainHead->layout()->setSpacing(0); ui->tooliconsZone->setStyleSheet(Style::resolve("QPushButton{background-color:@themeDark;border:none;}QPushButton:hover{background-color:@themeMediumDark;border:none;}")); if (QStyleFactory::keys().contains(Settings::getInstance().getStyle()) && Settings::getInstance().getStyle() != "None") { ui->mainHead->setStyle(QStyleFactory::create(Settings::getInstance().getStyle())); ui->mainContent->setStyle(QStyleFactory::create(Settings::getInstance().getStyle())); } ui->mainHead->setStyleSheet(Style::getStylesheet(":ui/settings/mainHead.css")); ui->mainContent->setStyleSheet(Style::getStylesheet(":ui/settings/mainContent.css")); ui->statusHead->setStyleSheet(Style::getStylesheet(":/ui/window/statusPanel.css")); contactListWidget = new FriendListWidget(0, Settings::getInstance().getGroupchatPosition()); ui->friendList->setWidget(contactListWidget); ui->friendList->setLayoutDirection(Qt::RightToLeft); ui->statusLabel->setEditable(true); ui->statusPanel->setStyleSheet(Style::getStylesheet(":/ui/window/statusPanel.css")); QMenu *statusButtonMenu = new QMenu(ui->statusButton); statusButtonMenu->addAction(statusOnline); statusButtonMenu->addAction(statusAway); statusButtonMenu->addAction(statusBusy); ui->statusButton->setMenu(statusButtonMenu); // disable proportional scaling ui->mainSplitter->setStretchFactor(0,0); ui->mainSplitter->setStretchFactor(1,1); onStatusSet(Status::Offline); // Disable some widgets until we're connected to the DHT ui->statusButton->setEnabled(false); Style::setThemeColor(Settings::getInstance().getThemeColor()); reloadTheme(); updateIcons(); filesForm = new FilesForm(); addFriendForm = new AddFriendForm; profileForm = new ProfileForm(); settingsWidget = new SettingsWidget(); Core* core = Nexus::getCore(); connect(core, SIGNAL(fileDownloadFinished(const QString&)), filesForm, SLOT(onFileDownloadComplete(const QString&))); connect(core, SIGNAL(fileUploadFinished(const QString&)), filesForm, SLOT(onFileUploadComplete(const QString&))); connect(settingsWidget, &SettingsWidget::setShowSystemTray, this, &Widget::onSetShowSystemTray); connect(core, SIGNAL(selfAvatarChanged(QPixmap)), profileForm, SLOT(onSelfAvatarLoaded(QPixmap))); connect(ui->addButton, SIGNAL(clicked()), this, SLOT(onAddClicked())); connect(ui->groupButton, SIGNAL(clicked()), this, SLOT(onGroupClicked())); connect(ui->transferButton, SIGNAL(clicked()), this, SLOT(onTransferClicked())); connect(ui->settingsButton, SIGNAL(clicked()), this, SLOT(onSettingsClicked())); connect(profilePicture, &MaskablePixmapWidget::clicked, this, &Widget::showProfile); connect(ui->nameLabel, &CroppingLabel::clicked, this, &Widget::showProfile); connect(ui->statusLabel, SIGNAL(textChanged(QString, QString)), this, SLOT(onStatusMessageChanged(QString, QString))); connect(ui->mainSplitter, &QSplitter::splitterMoved, this, &Widget::onSplitterMoved); connect(addFriendForm, SIGNAL(friendRequested(QString, QString)), this, SIGNAL(friendRequested(QString, QString))); connect(timer, &QTimer::timeout, this, &Widget::onUserAwayCheck); connect(timer, &QTimer::timeout, this, &Widget::onEventIconTick); connect(timer, &QTimer::timeout, this, &Widget::onTryCreateTrayIcon); connect(offlineMsgTimer, &QTimer::timeout, this, &Widget::processOfflineMsgs); addFriendForm->show(*ui); connect(settingsWidget, &SettingsWidget::groupchatPositionToggled, contactListWidget, &FriendListWidget::onGroupchatPositionChanged); #if (AUTOUPDATE_ENABLED) if (Settings::getInstance().getCheckUpdates()) AutoUpdater::checkUpdatesAsyncInteractive(); #endif if (!Settings::getInstance().getShowSystemTray()) show(); }
KdeEmoticonsProvider::KdeEmoticonsProvider(const KEmoticonsTheme &theme) : m_theme(theme) { reloadTheme(); }