void Main::init() { ui->setupUi(this); m_tabs = new Tabs(ui->tabs); QObject::connect(m_tabs.data(), &Tabs::tabTitleChanged, this, &Main::onTabTitleChanged); onTabTitleChanged(QApplication::applicationName()); // settings QSettings settings; // window icon, size and position this->setWindowIcon(Config::instance()->icon("icon")); resize(settings.value("window/size", QSize(900, 400)).toSize()); this->setGeometry(QStyle::alignedRect(Qt::LeftToRight, Qt::AlignCenter, this->size(), qApp->desktop()->availableGeometry())); // contacts ui->splitter->setStretchFactor(0, 0); ui->splitter->setStretchFactor(1, 100); log.debug("minimumSizeHint: %1", QString::number(ui->contactlist->sizeHint().width())); m_contactmodel = new ContactModel(this); ui->contactlist->setModel(m_contactmodel); ui->contactlist->setItemDelegate(new MovieDelegate(*ui->contactlist, 0)); QObject::connect(ui->contactlist, &QTableView::clicked, this, &Main::onContactSelected); QObject::connect(this, &Main::shown, ContactList(), &List::Contacts::onResetContacts); ui->contactlist->verticalHeader()->setDefaultSectionSize(fontMetrics().lineSpacing() + 5); ui->contactlist->horizontalHeader()->setDefaultSectionSize(fontMetrics().lineSpacing() + 5); ui->contactlist->setSelectionBehavior(QAbstractItemView::SelectRows); ui->contactlist->horizontalHeader()->setSectionResizeMode(QHeaderView::ResizeToContents); QObject::connect(ui->actionAddContact, &QAction::triggered, this, &Main::onMenuAddContact); // terminal m_terminal = new Terminal; bool showTerminal = settings.value("window/show-terminal", true).toBool(); if (showTerminal) m_tabs->addTab(m_terminal); QObject::connect(ui->actionShowTerminal, &QAction::triggered, this, &Main::onMenuShowTerminal); // stats ui->stats->hide(); QObject::connect(ui->volumeInput, &QSlider::valueChanged, this, &Main::onSliderVolumeInput); QObject::connect(ui->volumeOutput, &QSlider::valueChanged, this, &Main::onSliderVolumeOutput); // audio devices settings QObject::connect(ui->actionAudioDevices, &QAction::triggered, this, &Main::onMenuAudioDevices); QObject::connect(ui->actionSettingsContactList, &QAction::triggered, this, &Main::onMenuSettingsContactList); // menu QObject::connect(ui->actionReloadContacts, &QAction::triggered, ContactList(), &List::Contacts::onResetContacts); QObject::connect(ui->actionAbout, &QAction::triggered, this, &Main::onMenuAbout); QObject::connect(ui->actionAboutQt, &QAction::triggered, this, &Main::onMenuAboutQt); // tabs m_tabs->onTabChanged(ui->tabs->currentIndex()); //ui->groupBox->setFlat(true); //ui->groupBox->setAlignment(Qt::AlignHCenter); }
void GaduContactListService::importContactList() { ImportReply.truncate(0); if (-1 == gg_userlist_request(Protocol->gaduSession(), GG_USERLIST_GET, 0)) emit contactListImported(false, ContactList()); }
void GaduContactListService::handleEventUserlistGetReply(struct gg_event *e) { char *content = e->event.userlist.reply; if (!content) { kdebugmf(KDEBUG_NETWORK|KDEBUG_INFO, "error!\n"); emit contactListImported(false, ContactList()); return; } if (content[0] != 0) ImportReply += cp2unicode(content); if (e->event.userlist.type == GG_USERLIST_GET_MORE_REPLY) { kdebugmf(KDEBUG_NETWORK|KDEBUG_INFO, "next portion\n"); return; } kdebugmf(KDEBUG_NETWORK|KDEBUG_INFO, "\n%s\n", unicode2latin(ImportReply).data()); emit contactListImported(true, GaduListHelper::stringToContactList(Protocol->account(), ImportReply)); }