Exemplo n.º 1
0
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);
}
Exemplo n.º 2
0
void GaduContactListService::importContactList()
{
	ImportReply.truncate(0);

	if (-1 == gg_userlist_request(Protocol->gaduSession(), GG_USERLIST_GET, 0))
		emit contactListImported(false, ContactList());
}
Exemplo n.º 3
0
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));
}