1
0
mirror of https://github.com/qTox/qTox.git synced 2024-03-22 14:00:36 +08:00

Code style improvements

This commit is contained in:
Zetok Zalbavar 2015-04-24 12:01:50 +01:00 committed by tux3
parent 66314bc38d
commit 92f3b6a20f
25 changed files with 173 additions and 95 deletions

View File

@ -72,6 +72,7 @@ Audio::~Audio()
audioThread->wait();
if (audioThread->isRunning())
audioThread->terminate();
delete audioThread;
delete audioInLock;
delete audioOutLock;
@ -123,6 +124,7 @@ void Audio::openInput(const QString& inDevDescr)
alInDev = nullptr;
if (tmp)
alcCaptureCloseDevice(tmp);
int stereoFlag = av_DefaultSettings.audio_channels==1 ? AL_FORMAT_MONO16 : AL_FORMAT_STEREO16;
if (inDevDescr.isEmpty())
alInDev = alcCaptureOpenDevice(nullptr,av_DefaultSettings.audio_sample_rate, stereoFlag,
@ -163,6 +165,7 @@ void Audio::openOutput(const QString& outDevDescr)
alOutDev = alcOpenDevice(nullptr);
else
alOutDev = alcOpenDevice(outDevDescr.toStdString().c_str());
if (!alOutDev)
{
qWarning() << "Audio: Cannot open output audio device";
@ -171,8 +174,10 @@ void Audio::openOutput(const QString& outDevDescr)
{
if (alContext && alcMakeContextCurrent(nullptr) == ALC_TRUE)
alcDestroyContext(alContext);
if (tmp)
alcCloseDevice(tmp);
alContext=alcCreateContext(alOutDev,nullptr);
if (!alcMakeContextCurrent(alContext))
{
@ -180,7 +185,9 @@ void Audio::openOutput(const QString& outDevDescr)
alcCloseDevice(alOutDev);
}
else
{
alGenSources(1, &alMainSource);
}
qDebug() << "Audio: Opening audio output "<<outDevDescr;
@ -217,13 +224,9 @@ void Audio::closeOutput()
if (alOutDev)
{
if (alcCloseDevice(alOutDev) == ALC_TRUE)
{
alOutDev = nullptr;
}
else
{
qWarning() << "Audio: Failed to close output";
}
}
}

View File

@ -88,7 +88,9 @@ FileTransferWidget::FileTransferWidget(QWidget *parent, ToxFile file)
ui->progressLabel->setText(tr("Waiting to send...", "file transfer widget"));
}
else
{
ui->progressLabel->setText(tr("Accept to receive this file", "file transfer widget"));
}
setFixedHeight(78);
}
@ -187,6 +189,7 @@ void FileTransferWidget::paintEvent(QPaintEvent *)
// draw background
if(drawButtonAreaNeeded())
painter.setClipRect(QRect(0,0,width()-buttonFieldWidth,height()));
painter.setBrush(QBrush(backgroundColor));
painter.drawRoundRect(geometry(), r * ratio, r);

View File

@ -457,7 +457,8 @@ void Core::onStatusMessageChanged(Tox*/* tox*/, uint32_t friendId, const uint8_t
void Core::onUserStatusChanged(Tox*/* tox*/, uint32_t friendId, TOX_USER_STATUS userstatus, void* core)
{
Status status;
switch (userstatus) {
switch (userstatus)
{
case TOX_USER_STATUS_NONE:
status = Status::Online;
break;
@ -611,6 +612,7 @@ void Core::requestFriendship(const QString& friendAddress, const QString& messag
QString inviteStr = tr("/me offers friendship.");
if (message.length())
inviteStr = tr("/me offers friendship, \"%1\"").arg(message);
HistoryKeeper::getInstance()->addChatEntry(userId, inviteStr, getSelfId().publicKey, QDateTime::currentDateTime(), true);
emit friendAdded(friendId, userId);
}
@ -826,7 +828,8 @@ void Core::setStatusMessage(const QString& message)
{
CString cMessage(message);
if (tox_self_set_status_message(tox, cMessage.data(), cMessage.size(), nullptr) == false) {
if (tox_self_set_status_message(tox, cMessage.data(), cMessage.size(), nullptr) == false)
{
emit failedToSetStatusMessage(message);
}
else
@ -900,7 +903,8 @@ QByteArray Core::loadToxSave(QString path)
if (fileSize > 0)
{
data = configurationFile.readAll();
if (tox_is_data_encrypted((uint8_t*)data.data())) {
if (tox_is_data_encrypted((uint8_t*)data.data()))
{
if (!loadEncryptedSave(data))
{
configurationFile.close();

View File

@ -34,8 +34,10 @@ uint8_t* Core::videobuf;
bool Core::anyActiveCalls()
{
for (auto& call : calls)
{
if (call.active)
return true;
}
return false;
}
@ -93,6 +95,7 @@ void Core::onAvMediaChange(void* toxav, int32_t callId, void* core)
int friendId;
if (toxav_get_peer_csettings((ToxAv*)toxav, callId, 0, &settings) < 0)
goto fail;
friendId = toxav_get_peer_id((ToxAv*)toxav, callId, 0);
if (friendId < 0)
goto fail;
@ -220,6 +223,7 @@ void Core::cleanupCall(int32_t callId)
calls[callId].sendVideoTimer->stop();
if (calls[callId].videoEnabled)
Camera::getInstance()->unsubscribe();
Audio::unsuscribeInput();
toxav_kill_transmission(Core::getInstance()->toxav, callId);
}
@ -286,9 +290,7 @@ void Core::sendCallAudio(int32_t callId, ToxAv* toxav)
}
if ((r = toxav_send_audio(toxav, callId, dest, r)) < 0)
{
qDebug() << "Core: toxav_send_audio error";
}
}
calls[callId].sendAudioTimer->start();
}
@ -336,9 +338,7 @@ void Core::sendCallVideo(int32_t callId)
void Core::micMuteToggle(int32_t callId)
{
if (calls[callId].active)
{
calls[callId].muteMic = !calls[callId].muteMic;
}
}
void Core::volMuteToggle(int32_t callId)

View File

@ -190,7 +190,9 @@ bool Core::loadEncryptedSave(QByteArray& data)
dialogtxt = tr("The profile password failed. Please try another?", "used only when pw set before load() doesn't work");
}
else
{
dialogtxt = a;
}
uint8_t salt[TOX_PASS_SALT_LENGTH];
tox_get_salt(reinterpret_cast<uint8_t *>(data.data()), salt);
@ -205,7 +207,9 @@ bool Core::loadEncryptedSave(QByteArray& data)
return false;
}
else
{
setPassword(pw, ptMain, salt);
}
QByteArray newData(fileSize-TOX_PASS_ENCRYPTION_EXTRA_LENGTH, 0);
error = !tox_pass_key_decrypt((uint8_t*)data.data(), data.size(), pwsaltedkeys[ptMain],
@ -248,7 +252,9 @@ void Core::checkEncryptedHistory()
dialogtxt = tr("The chat history password failed. Please try another?", "used only when pw set before load() doesn't work");
}
else
{
dialogtxt = a;
}
dialogtxt += "\n" + c;
@ -341,7 +347,9 @@ void Core::saveConfiguration(const QString& path)
}
}
else
{
tox_get_savedata(tox, data);
}
configurationFile.write(reinterpret_cast<char *>(data), fileSize);
configurationFile.commit();

View File

@ -87,6 +87,7 @@ QString Friend::getDisplayedName() const
{
if (userAlias.size() == 0)
return userName;
return userAlias;
}

View File

@ -102,6 +102,7 @@ void Group::regeneratePeerList()
ToxID id = Core::getInstance()->getGroupPeerToxID(groupId, i);
if (id.isMine())
selfPeerNum = i;
QString toxid = id.publicKey;
toxids[toxid] = peers[i];
Friend *f = FriendList::findFriend(id);
@ -177,9 +178,7 @@ QString Group::resolveToxID(const ToxID &id) const
auto it = toxids.find(key);
if (it != toxids.end())
{
return *it;
}
return QString();
}

View File

@ -56,7 +56,9 @@ HistoryKeeper *HistoryKeeper::getInstance()
historyInstance = new HistoryKeeper(dbIntf);
return historyInstance;
} else {
}
else
{
path = getHistoryPath();
}
}
@ -111,9 +113,7 @@ HistoryKeeper::HistoryKeeper(GenericDdInterface *db_) :
QSqlQuery ret = db->exec("SELECT seq FROM sqlite_sequence WHERE name=\"sent_status\";");
int idCur = 0;
if (ret.first())
{
idCur = ret.value(0).toInt();
}
if (idCur != idMax)
{
@ -145,6 +145,7 @@ qint64 HistoryKeeper::addChatEntry(const QString& chat, const QString& message,
db->exec("BEGIN TRANSACTION;");
for (auto &it : cmds)
db->exec(it);
db->exec("COMMIT TRANSACTION;");
messageID++;
@ -167,7 +168,9 @@ QList<HistoryKeeper::HistMessage> HistoryKeeper::getChatHistory(HistoryKeeper::C
dbAnswer = db->exec(QString("SELECT history.id, timestamp, user_id, message, status FROM history LEFT JOIN sent_status ON history.id = sent_status.id ") +
QString("INNER JOIN aliases ON history.sender = aliases.id AND timestamp BETWEEN %1 AND %2 AND chat_id = %3;")
.arg(time64_from).arg(time64_to).arg(chat_id));
} else {
}
else
{
// no groupchats yet
}
@ -372,7 +375,8 @@ void HistoryKeeper::setSyncType(Db::syncType sType)
{
QString syncCmd;
switch (sType) {
switch (sType)
{
case Db::syncType::stFull:
syncCmd = "FULL";
break;
@ -413,5 +417,6 @@ QList<HistoryKeeper::HistMessage> HistoryKeeper::exportMessagesDeleteFile(int en
qDebug() << "HistoryKeeper: count" << msgs.size() << "messages exported";
if (!removeHistory(encrypted))
qWarning() << "HistoryKeeper: couldn't delete old log file!";
return msgs;
}

View File

@ -41,7 +41,9 @@ EncryptedDb::EncryptedDb(const QString &fname, QList<QString> initList) :
encrFile.close();
}
else
{
chunkPosition = 0;
}
encrFile.setFileName(fileName);
@ -90,7 +92,9 @@ bool EncryptedDb::pullFileContent(const QString &fname, QByteArray &buf)
if (buf.size() > 0)
{
fileContent += buf;
} else {
}
else
{
qWarning() << "EncryptedDb::pullFileContent: Encrypted history log is corrupted: can't decrypt, will be deleted";
buf = QByteArray();
return false;
@ -108,9 +112,8 @@ bool EncryptedDb::pullFileContent(const QString &fname, QByteArray &buf)
PlainDb::exec("BEGIN TRANSACTION;");
for (auto line : sqlCmds)
{
QSqlQuery r = PlainDb::exec(line);
}
PlainDb::exec("COMMIT TRANSACTION;");
dbFile.close();
@ -144,9 +147,8 @@ void EncryptedDb::appendToEncrypted(const QString &sql)
QByteArray encr = Core::getInstance()->encryptData(buffer, Core::ptHistory);
if (encr.size() > 0)
{
encrFile.write(encr);
}
encrFile.flush();
}
@ -161,10 +163,10 @@ bool EncryptedDb::check(const QString &fname)
QByteArray encrChunk = file.read(encryptedChunkSize);
QByteArray buf = Core::getInstance()->decryptData(encrChunk, Core::ptHistory);
if (buf.size() == 0)
{
state = false;
}
} else {
}
else
{
file.close();
file.open(QIODevice::WriteOnly);
}

View File

@ -54,6 +54,7 @@ Settings& Settings::getInstance()
{
if (!settings)
settings = new Settings();
return *settings;
}
@ -92,7 +93,9 @@ QString Settings::detectProfile()
{
profile = askProfiles();
if (profile.isEmpty())
{
return "";
}
else
{
switchProfile(profile);
@ -101,7 +104,9 @@ QString Settings::detectProfile()
}
}
else
{
return path;
}
}
QList<QString> Settings::searchProfiles()
@ -112,6 +117,7 @@ QList<QString> Settings::searchProfiles()
dir.setNameFilters(QStringList("*.tox"));
for (QFileInfo file : dir.entryInfoList())
out += file.completeBaseName();
return out;
}
@ -154,7 +160,9 @@ void Settings::load()
ps.endGroup();
}
else
{
makeToxPortable = false;
}
QDir dir(getSettingsDirPath());
QString filePath = dir.filePath(FILENAME);
@ -178,7 +186,8 @@ void Settings::load()
useCustomDhtList = true;
qDebug() << "Using custom bootstrap nodes list";
int serverListSize = s.beginReadArray("dhtServerList");
for (int i = 0; i < serverListSize; i ++) {
for (int i = 0; i < serverListSize; i ++)
{
s.setArrayIndex(i);
DhtServer server;
server.name = s.value("name").toString();
@ -190,7 +199,9 @@ void Settings::load()
s.endArray();
}
else
{
useCustomDhtList=false;
}
s.endGroup();
s.beginGroup("General");
@ -228,9 +239,9 @@ void Settings::load()
s.beginGroup("Widgets");
QList<QString> objectNames = s.childKeys();
for (const QString& name : objectNames) {
for (const QString& name : objectNames)
widgetSettings[name] = s.value(name).toByteArray();
}
s.endGroup();
s.beginGroup("GUI");
@ -283,7 +294,8 @@ void Settings::load()
QSettings rcs(":/conf/settings.ini", QSettings::IniFormat);
rcs.beginGroup("DHT Server");
int serverListSize = rcs.beginReadArray("dhtServerList");
for (int i = 0; i < serverListSize; i ++) {
for (int i = 0; i < serverListSize; i ++)
{
rcs.setArrayIndex(i);
DhtServer server;
server.name = rcs.value("name").toString();
@ -357,7 +369,8 @@ void Settings::saveGlobal(QString path)
s.beginGroup("DHT Server");
s.setValue("useCustomList", useCustomDhtList);
s.beginWriteArray("dhtServerList", dhtServerList.size());
for (int i = 0; i < dhtServerList.size(); i ++) {
for (int i = 0; i < dhtServerList.size(); i ++)
{
s.setArrayIndex(i);
s.setValue("name", dhtServerList[i].name);
s.setValue("userId", dhtServerList[i].userId);
@ -398,9 +411,9 @@ void Settings::saveGlobal(QString path)
s.beginGroup("Widgets");
const QList<QString> widgetNames = widgetSettings.keys();
for (const QString& name : widgetNames) {
for (const QString& name : widgetNames)
s.setValue(name, widgetSettings.value(name));
}
s.endGroup();
s.beginGroup("GUI");
@ -505,12 +518,15 @@ QPixmap Settings::getSavedAvatar(const QString &ownerId)
QString filePath = dir.filePath("avatar_"+ownerId.left(64));
if (!QFileInfo(filePath).exists()) // try without truncation, for old self avatars
filePath = dir.filePath("avatar_"+ownerId);
pic.load(filePath);
saveAvatar(pic, ownerId);
QFile::remove(filePath);
}
else
{
pic.load(filePath);
}
return pic;
}
@ -530,6 +546,7 @@ void Settings::saveAvatarHash(const QByteArray& hash, const QString& ownerId)
QFile file(dir.filePath("avatars/"+ownerId.left(64)+".hash"));
if (!file.open(QIODevice::WriteOnly))
return;
file.write(hash);
file.close();
}
@ -541,6 +558,7 @@ QByteArray Settings::getAvatarHash(const QString& ownerId)
QFile file(dir.filePath("avatars/"+ownerId.left(64)+".hash"));
if (!file.open(QIODevice::ReadOnly))
return QByteArray();
QByteArray out = file.readAll();
file.close();
return out;
@ -840,6 +858,7 @@ void Settings::setAutoAwayTime(int newValue)
{
if (newValue < 0)
newValue = 10;
autoAwayTime = newValue;
}
@ -849,9 +868,7 @@ QString Settings::getAutoAcceptDir(const ToxID& id) const
auto it = friendLst.find(key);
if (it != friendLst.end())
{
return it->autoAcceptDir;
}
return QString();
}
@ -1110,9 +1127,7 @@ QString Settings::getFriendAdress(const QString &publicKey) const
QString key = ToxID::fromString(publicKey).publicKey;
auto it = friendLst.find(key);
if (it != friendLst.end())
{
return it->addr;
}
return QString();
}
@ -1124,7 +1139,9 @@ void Settings::updateFriendAdress(const QString &newAddr)
if (it != friendLst.end())
{
it->addr = newAddr;
} else {
}
else
{
friendProp fp;
fp.addr = newAddr;
fp.alias = "";
@ -1138,9 +1155,7 @@ QString Settings::getFriendAlias(const ToxID &id) const
QString key = id.publicKey;
auto it = friendLst.find(key);
if (it != friendLst.end())
{
return it->alias;
}
return QString();
}
@ -1152,7 +1167,9 @@ void Settings::setFriendAlias(const ToxID &id, const QString &alias)
if (it != friendLst.end())
{
it->alias = alias;
} else {
}
else
{
friendProp fp;
fp.addr = key;
fp.alias = alias;

View File

@ -40,6 +40,7 @@ void Nexus::start()
{
if (started)
return;
qDebug() << "Nexus: Starting up";
// Setup the environment
@ -139,6 +140,7 @@ Nexus& Nexus::getInstance()
{
if (!nexus)
nexus = new Nexus;
return *nexus;
}
@ -168,6 +170,7 @@ QString Nexus::getSupportedImageFilter()
QString res;
for (auto type : QImageReader::supportedImageFormats())
res += QString("*.%1 ").arg(QString(type));
return tr("Images (%1)", "filetype filter").arg(res.left(res.size()-1));
}

View File

@ -91,6 +91,7 @@ void OfflineMsgEngine::deliverOfflineMsgs()
rec = Core::getInstance()->sendAction(f->getFriendID(), messageText);
else
rec = Core::getInstance()->sendMessage(f->getFriendID(), messageText);
registerReceipt(rec, iter.key(), iter.value().msg);
}
}

View File

@ -69,16 +69,19 @@ ToxID Toxme::lookup(QString address)
const int index = response.indexOf(pattern);
if (index == -1)
return id;
response = response.mid(index+pattern.size());
const int idStart = response.indexOf('"');
if (idStart == -1)
return id;
response = response.mid(idStart+1);
const int idEnd = response.indexOf('"');
if (idEnd == -1)
return id;
response.truncate(idEnd);
id = ToxID::fromString(response);
@ -93,17 +96,20 @@ int Toxme::extractError(QString json)
const int index = json.indexOf(pattern);
if (index == -1)
return INT_MIN;
json = json.mid(index+pattern.size());
const int end = json.indexOf('}');
if (end == -1)
return INT_MIN;
json.truncate(end);
bool ok;
int r = json.toInt(&ok);
if (!ok)
return INT_MIN;
return r;
}

View File

@ -87,16 +87,22 @@ void AddFriendForm::onSendTriggered()
{
QString id = toxId.text().trimmed();
if (id.isEmpty()) {
if (id.isEmpty())
{
GUI::showWarning(tr("Couldn't add friend"), tr("Please fill in a valid Tox ID","Tox ID of the friend you're sending a friend request to"));
} else if (ToxID::isToxId(id)) {
}
else if (ToxID::isToxId(id))
{
if (id.toUpper() == Core::getInstance()->getSelfId().toString().toUpper())
GUI::showWarning(tr("Couldn't add friend"), tr("You can't add yourself as a friend!","When trying to add your own Tox ID as friend"));
else
emit friendRequested(id, getMessage());
this->toxId.clear();
this->message.clear();
} else {
}
else
{
if (Settings::getInstance().getProxyType() != ProxyType::ptNone)
{
QMessageBox::StandardButton btn = QMessageBox::warning(main, "qTox", tr("qTox needs to use the Tox DNS, but can't do it through a proxy.\n\
@ -123,7 +129,8 @@ void AddFriendForm::setIdFromClipboard()
{
QClipboard* clipboard = QApplication::clipboard();
QString id = clipboard->text().trimmed();
if (Core::getInstance()->isReady() && !id.isEmpty() && ToxID::isToxId(id)) {
if (Core::getInstance()->isReady() && !id.isEmpty() && ToxID::isToxId(id))
{
if (!ToxID::fromString(id).isMine())
toxId.setText(id);
}

View File

@ -157,6 +157,7 @@ void ChatForm::onTextEditChanged()
{
if (isTyping)
Core::getInstance()->sendTyping(f->getFriendID(), false);
isTyping = false;
return;
}
@ -178,6 +179,7 @@ void ChatForm::onAttachClicked()
QStringList paths = QFileDialog::getOpenFileNames(0,tr("Send a file"));
if (paths.isEmpty())
return;
for (QString path : paths)
{
QFile file(path);
@ -269,6 +271,7 @@ void ChatForm::onAvInvite(uint32_t FriendId, int CallId, bool video)
callConfirm = new CallConfirmWidget(videoButton);
if (isVisible())
callConfirm->show();
connect(callConfirm, &CallConfirmWidget::accepted, this, &ChatForm::onAnswerCallTriggered);
connect(callConfirm, &CallConfirmWidget::rejected, this, &ChatForm::onRejectCallTriggered);
@ -283,6 +286,7 @@ void ChatForm::onAvInvite(uint32_t FriendId, int CallId, bool video)
callConfirm = new CallConfirmWidget(callButton);
if (isVisible())
callConfirm->show();
connect(callConfirm, &CallConfirmWidget::accepted, this, &ChatForm::onAnswerCallTriggered);
connect(callConfirm, &CallConfirmWidget::rejected, this, &ChatForm::onRejectCallTriggered);
@ -534,13 +538,9 @@ void ChatForm::onAvMediaChange(uint32_t FriendId, int CallId, bool video)
qDebug() << "onAvMediaChange";
if (video)
{
netcam->show(Core::getInstance()->getVideoSourceFromCall(CallId), f->getDisplayedName());
}
else
{
netcam->hide();
}
}
void ChatForm::onAnswerCallTriggered()
@ -564,10 +564,8 @@ void ChatForm::onHangupCallTriggered()
//Fixes an OS X bug with ending a call while in full screen
if(netcam->isFullScreen())
{
netcam->showNormal();
}
audioInputFlag = false;
audioOutputFlag = false;
emit hangupCall(callId);
@ -588,9 +586,8 @@ void ChatForm::onRejectCallTriggered()
audioInputFlag = false;
audioOutputFlag = false;
emit rejectCall(callId);
enableCallButtons();
}
void ChatForm::onCallTriggered()
@ -631,7 +628,7 @@ void ChatForm::onAvCallFailed(uint32_t FriendId)
void ChatForm::onCancelCallTriggered()
{
qDebug() << "onCancelCallTriggered";
enableCallButtons();
netcam->hide();
@ -806,6 +803,7 @@ void ChatForm::loadHistory(QDateTime since, bool processUndelivered)
{
if (earliestMessage < since)
return;
if (earliestMessage < now)
{
now = earliestMessage;

View File

@ -366,7 +366,9 @@ QString GenericChatForm::resolveToxID(const ToxID &id)
if (f)
{
return f->getDisplayedName();
} else {
}
else
{
for (auto it : GroupList::getAllGroups())
{
QString res = it->resolveToxID(id);

View File

@ -110,10 +110,14 @@ void GroupChatForm::onSendTriggered()
emit sendAction(group->getGroupId(), msg);
}
else
{
emit sendMessage(group->getGroupId(), msg);
}
}
else
{
addSelfMessage(msg, msg.startsWith("/me "), QDateTime::currentDateTime(), true);
}
}
void GroupChatForm::onUserListChanged()
@ -150,6 +154,7 @@ void GroupChatForm::onUserListChanged()
QLabel* label = orderizer[names[i]];
if (i != nNames - 1)
label->setText(label->text() + ", ");
namesListLayout->addWidget(label);
}

View File

@ -41,6 +41,7 @@ void ProfileForm::refreshProfiles()
bodyUI->profiles->clear();
for (QString profile : Settings::getInstance().searchProfiles())
bodyUI->profiles->addItem(profile);
QString current = Settings::getInstance().getCurrentProfile();
if (current != "")
bodyUI->profiles->setCurrentText(current);
@ -194,6 +195,7 @@ void ProfileForm::onAvatarClicked()
Nexus::getSupportedImageFilter());
if (filename.isEmpty())
return;
QFile file(filename);
file.open(QIODevice::ReadOnly);
if (!file.isOpen())
@ -254,6 +256,7 @@ void ProfileForm::onRenameClicked()
Settings::getInstance().setCurrentProfile(name);
if (resetAutorun)
Settings::getInstance().setAutorun(true); // fixes -p flag in autostart command line
break;
}
} while (true);

View File

@ -52,6 +52,7 @@ GeneralForm::GeneralForm(SettingsWidget *myParent) :
bodyUI->cbEnableIPv6->setChecked(Settings::getInstance().getEnableIPv6());
for (int i = 0; i < langs.size(); i++)
bodyUI->transComboBox->insertItem(i, langs[i]);
bodyUI->transComboBox->setCurrentIndex(locales.indexOf(Settings::getInstance().getTranslation()));
bodyUI->cbAutorun->setChecked(Settings::getInstance().getAutorun());
#if defined(__APPLE__) && defined(__MACH__)
@ -69,7 +70,7 @@ GeneralForm::GeneralForm(SettingsWidget *myParent) :
bodyUI->minimizeToTray->setEnabled(showSystemTray);
bodyUI->lightTrayIcon->setChecked(Settings::getInstance().getLightTrayIcon());
bodyUI->lightTrayIcon->setEnabled(showSystemTray);
bodyUI->statusChanges->setChecked(Settings::getInstance().getStatusChangeNotificationEnabled());
bodyUI->useEmoticons->setChecked(Settings::getInstance().getUseEmoticons());
bodyUI->autoacceptFiles->setChecked(Settings::getInstance().getAutoSaveEnabled());
@ -83,9 +84,8 @@ GeneralForm::GeneralForm(SettingsWidget *myParent) :
bodyUI->cbGroupchatPosition->setChecked(Settings::getInstance().getGroupchatPosition());
for (auto entry : SmileyPack::listSmileyPacks())
{
bodyUI->smileyPackBrowser->addItem(entry.first, entry.second);
}
bodyUI->smileyPackBrowser->setCurrentIndex(bodyUI->smileyPackBrowser->findData(Settings::getInstance().getSmileyPack()));
reloadSmiles();
bodyUI->smileyPackBrowser->setEnabled(bodyUI->useEmoticons->isChecked());
@ -99,6 +99,7 @@ GeneralForm::GeneralForm(SettingsWidget *myParent) :
for (QString color : Style::themeColorNames)
bodyUI->themeColorCBox->addItem(color);
bodyUI->themeColorCBox->setCurrentIndex(Settings::getInstance().getThemeColor());
bodyUI->emoticonSize->setValue(Settings::getInstance().getEmojiFontPointSize());
@ -174,7 +175,7 @@ GeneralForm::GeneralForm(SettingsWidget *myParent) :
connect(bodyUI->cbFauxOfflineMessaging, &QCheckBox::stateChanged, this, &GeneralForm::onFauxOfflineMessaging);
connect(bodyUI->cbCompactLayout, &QCheckBox::stateChanged, this, &GeneralForm::onCompactLayout);
connect(bodyUI->cbGroupchatPosition, &QCheckBox::stateChanged, this, &GeneralForm::onGroupchatPositionChanged);
// prevent stealing mouse whell scroll
// scrolling event won't be transmitted to comboboxes or qspinboxes when scrolling
// you can scroll through general settings without accidentially chaning theme/skin/icons etc.
@ -331,11 +332,9 @@ void GeneralForm::onProxyAddrEdited()
void GeneralForm::onProxyPortEdited(int port)
{
if (port > 0)
{
Settings::getInstance().setProxyPort(port);
} else {
else
Settings::getInstance().setProxyPort(-1);
}
}
void GeneralForm::onUseProxyUpdated()

View File

@ -115,8 +115,10 @@ bool PrivacyForm::setChatLogsPassword()
else
{
if (GUI::askQuestion(tr("Old encrypted chat history", "popup title"), tr("There is currently an unused encrypted chat history, but the password you just entered doesn't match.\n\nIf you don't care about the old history, you may delete it and use the password you just entered.\nOtherwise, hit Cancel to try again.", "This happens when enabling encryption after previously \"Disabling History\""), tr("Delete"), tr("Cancel")))
{
if (GUI::askQuestion(tr("Old encrypted chat history", "popup title"), tr("Are you absolutely sure you want to lose the unused encrypted chat history?", "secondary popup"), tr("Delete"), tr("Cancel")))
haveEncHist = false; // logically this is really just a `break`, but conceptually this is more accurate
}
}
} while (haveEncHist);

View File

@ -54,8 +54,10 @@ void TabCompleter::buildCompletionList()
QRegExp regex(QString("^[-_\\[\\]{}|`^.\\\\]*").append(QRegExp::escape(tabAbbrev)), Qt::CaseInsensitive);
for (auto name : group->getPeerList())
{
if (regex.indexIn(name) > -1)
completionMap[name.toLower()] = name;
}
nextCompletion = completionMap.begin();
lastCompletionLength = tabAbbrev.length();
@ -64,12 +66,14 @@ void TabCompleter::buildCompletionList()
void TabCompleter::complete()
{
if (!enabled) {
if (!enabled)
{
buildCompletionList();
enabled = true;
}
if (nextCompletion != completionMap.end()) {
if (nextCompletion != completionMap.end())
{
// clear previous completion
auto cur = msgEdit->textCursor();
cur.setPosition(cur.selectionEnd());
@ -85,13 +89,16 @@ void TabCompleter::complete()
nextCompletion++;
// we're completing the first word of the line
if (msgEdit->textCursor().position() == lastCompletionLength) {
if (msgEdit->textCursor().position() == lastCompletionLength)
{
msgEdit->insertPlainText(nickSuffix);
lastCompletionLength += nickSuffix.length();
}
}
else { // we're at the end of the list -> start over again
if (!completionMap.isEmpty()) {
else
{ // we're at the end of the list -> start over again
if (!completionMap.isEmpty())
{
nextCompletion = completionMap.begin();
complete();
}

View File

@ -60,7 +60,9 @@ void GroupWidget::contextMenuEvent(QContextMenuEvent * event)
if (selectedItem)
{
if (selectedItem == quitGroup)
{
emit removeGroup(groupId);
}
else if (selectedItem == setTitle)
{
bool ok;
@ -77,7 +79,7 @@ void GroupWidget::contextMenuEvent(QContextMenuEvent * event)
* element - title, the rest of the widget stays in the same CSS as it
* was on mouse over. Repainting whole widget fixes style problem.
*/
this->repaint();
this->repaint();
}
}
}

View File

@ -42,9 +42,7 @@ bool handleToxSave(const QString& path)
}
while (!core->isReady())
{
qApp->processEvents();
}
QFileInfo info(path);
if (!info.exists())

View File

@ -51,9 +51,7 @@ bool handleToxURI(const QString &toxURI)
}
while (!core->isReady())
{
qApp->processEvents();
}
QString toxaddr;
if (toxURI.startsWith("tox://"))

View File

@ -72,6 +72,7 @@ bool toxActivateEventHandler(const QByteArray&)
{
if (!Widget::getInstance()->isActiveWindow())
Widget::getInstance()->forceShow();
return true;
}
@ -132,17 +133,17 @@ void Widget::init()
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->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());
@ -171,7 +172,7 @@ void Widget::init()
Style::setThemeColor(Settings::getInstance().getThemeColor());
reloadTheme();
updateIcons();
filesForm = new FilesForm();
addFriendForm = new AddFriendForm;
profileForm = new ProfileForm();
@ -265,7 +266,9 @@ void Widget::updateIcons()
QString status;
if (eventIcon)
{
status = "event";
}
else
{
status = ui->statusButton->property("status").toString();
@ -291,6 +294,7 @@ Widget::~Widget()
AutoUpdater::abortUpdates();
if (icon)
icon->hide();
hideMainForms();
delete profileForm;
delete settingsWidget;
@ -313,6 +317,7 @@ Widget* Widget::getInstance()
if (!instance)
instance = new Widget();
return instance;
}
@ -337,9 +342,7 @@ void Widget::changeEvent(QEvent *event)
if (event->type() == QEvent::WindowStateChange)
{
if (isMinimized() && Settings::getInstance().getMinimizeToTray())
{
this->hide();
}
}
}
@ -448,7 +451,7 @@ void Widget::confirmExecutableOpen(const QFileInfo file)
{
return;
}
// The user wants to run this file, so make it executable and run it
QFile(file.filePath()).setPermissions(file.permissions() | QFile::ExeOwner | QFile::ExeUser | QFile::ExeGroup | QFile::ExeOther);
QProcess::startDetached(file.filePath());
@ -531,13 +534,12 @@ void Widget::hideMainForms()
QLayoutItem* item;
while ((item = ui->mainHead->layout()->takeAt(0)) != 0)
item->widget()->hide();
while ((item = ui->mainContent->layout()->takeAt(0)) != 0)
item->widget()->hide();
if (activeChatroomWidget != nullptr)
{
activeChatroomWidget->setAsInactiveChatroom();
}
}
void Widget::onUsernameChanged(const QString& newUsername, const QString& oldUsername)
@ -649,24 +651,21 @@ void Widget::onFriendStatusChanged(int friendId, Status status)
if (isActualChange)
{
if (f->getStatus() == Status::Offline)
{
contactListWidget->moveWidget(f->getFriendWidget(), Status::Online);
}
else if (status == Status::Offline)
{
contactListWidget->moveWidget(f->getFriendWidget(), Status::Offline);
}
}
f->setStatus(status);
f->getFriendWidget()->updateStatusLight();
//won't print the message if there were no messages before
if (!f->getChatForm()->isEmpty()
&& Settings::getInstance().getStatusChangeNotificationEnabled())
{
QString fStatus = "";
switch(f->getStatus()){
switch(f->getStatus())
{
case Status::Away:
fStatus = tr("away", "contact status"); break;
case Status::Busy:
@ -716,9 +715,8 @@ void Widget::onChatroomWidgetClicked(GenericChatroomWidget *widget)
hideMainForms();
widget->setChatForm(*ui);
if (activeChatroomWidget != nullptr)
{
activeChatroomWidget->setAsInactiveChatroom();
}
activeChatroomWidget = widget;
widget->setAsActiveChatroom();
setWindowTitle(widget->getName());
@ -757,6 +755,7 @@ void Widget::newMessageAlert(GenericChatroomWidget* chat)
bool inactiveWindow = isMinimized() || !isActiveWindow();
if (!inactiveWindow && activeChatroomWidget != nullptr && chat == activeChatroomWidget)
return;
if (ui->statusButton->property("status").toString() == "busy")
return;
@ -792,6 +791,7 @@ void Widget::playRingtone()
{
if (ui->statusButton->property("status").toString() == "busy")
return;
QApplication::alert(this);
static QFile sndFile1(":audio/ToxicIncomingCall.pcm"); // for whatever reason this plays slower/downshifted from what any other program plays the file as... but whatever
@ -932,7 +932,9 @@ void Widget::onGroupNamelistChanged(int groupnumber, int peernumber, uint8_t Cha
// g->getChatForm()->addSystemInfoMessage(tr("%1 has left the chat").arg(name), "white", QDateTime::currentDateTime());
}
else if (change == TOX_CHAT_CHANGE_PEER_NAME) // core overwrites old name before telling us it changed...
{
g->updatePeer(peernumber,Nexus::getCore()->getGroupPeerName(groupnumber, peernumber));
}
}
void Widget::onGroupTitleChanged(int groupnumber, const QString& author, const QString& title)
@ -1064,7 +1066,9 @@ void Widget::onUserAwayCheck()
}
}
else if (autoAwayActive)
{
autoAwayActive = false;
}
#endif
}
@ -1107,10 +1111,14 @@ void Widget::onTryCreateTrayIcon()
setHidden(Settings::getInstance().getAutostartInTray());
}
else
{
show();
}
}
else if (!isVisible())
{
show();
}
}
else
{
@ -1163,6 +1171,7 @@ void Widget::onFriendTypingChanged(int friendId, bool isTyping)
Friend* f = FriendList::findFriend(friendId);
if (!f)
return;
f->getChatForm()->setFriendTyping(isTyping);
}
@ -1196,9 +1205,7 @@ void Widget::processOfflineMsgs()
{
QList<Friend*> frnds = FriendList::getAllFriends();
for (Friend *f : frnds)
{
f->getChatForm()->getOfflineMsgEngine()->deliverOfflineMsgs();
}
OfflineMsgEngine::globalMutex.unlock();
}
@ -1208,9 +1215,7 @@ void Widget::clearAllReceipts()
{
QList<Friend*> frnds = FriendList::getAllFriends();
for (Friend *f : frnds)
{
f->getChatForm()->getOfflineMsgEngine()->removeAllReciepts();
}
}
void Widget::reloadTheme()