diff --git a/CMakeLists.txt b/CMakeLists.txt index 7e39591..290568f 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -19,8 +19,8 @@ if(NOT CMAKE_BUILD_TYPE) endif() if(CMAKE_COMPILER_IS_GNUCXX) - set(CMAKE_CXX_FLAGS_DEBUG "-g -Wall -Wextra") - set(CMAKE_CXX_FLAGS_RELEASE "-O3") + set(CMAKE_CXX_FLAGS_DEBUG "-g -Wall -Wextra") + set(CMAKE_CXX_FLAGS_RELEASE "-O3") endif(CMAKE_COMPILER_IS_GNUCXX) message("Build type: ${CMAKE_BUILD_TYPE}") @@ -42,6 +42,7 @@ else (WIN32) list(APPEND squawk_SRC signalcatcher.cpp) endif (WIN32) + set(squawk_HEAD exception.h signalcatcher.h @@ -55,29 +56,25 @@ set(squawk_HEAD ) configure_file(resources/images/logo.svg squawk.svg COPYONLY) -configure_file(squawk.rc squawk.rc COPYONLY) if (WIN32) - execute_process(COMMAND magick convert -background none -size 48x48 squawk.svg squawk48.png WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}) - execute_process(COMMAND magick convert -background none -size 64x64 squawk.svg squawk64.png WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}) - execute_process(COMMAND magick convert -background none -size 128x128 squawk.svg squawk128.png WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}) - execute_process(COMMAND magick convert -background none -size 256x256 squawk.svg squawk256.png WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}) - execute_process(COMMAND magick convert squawk48.png squawk64.png squawk256.png squawk.ico WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}) + set(CONVERT_BIN magick convert) +else(WIN32) + set(CONVERT_BIN convert) +endif(WIN32) + +execute_process(COMMAND ${CONVERT_BIN} -background none -size 48x48 squawk.svg squawk48.png WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}) +execute_process(COMMAND ${CONVERT_BIN} -background none -size 64x64 squawk.svg squawk64.png WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}) +execute_process(COMMAND ${CONVERT_BIN} -background none -size 128x128 squawk.svg squawk128.png WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}) +execute_process(COMMAND ${CONVERT_BIN} -background none -size 256x256 squawk.svg squawk256.png WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}) + +if (WIN32) + execute_process(COMMAND ${CONVERT_BIN} squawk48.png squawk64.png squawk256.png squawk.ico WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}) set(SQUAWK_WIN_RC "${CMAKE_CURRENT_BINARY_DIR}/squawk.rc") -else (WIN32) - execute_process(COMMAND convert -background none -size 48x48 squawk.svg squawk48.png WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}) - execute_process(COMMAND convert -background none -size 64x64 squawk.svg squawk64.png WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}) - execute_process(COMMAND convert -background none -size 128x128 squawk.svg squawk128.png WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}) - execute_process(COMMAND convert -background none -size 256x256 squawk.svg squawk256.png WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}) -endif (WIN32) +endif(WIN32) if (APPLE) file(MAKE_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}/icns.iconset") - execute_process(COMMAND which convert WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR} RESULT_VARIABLE ret) - message("AAA ${ret}") - execute_process(COMMAND echo $PATH WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR} RESULT_VARIABLE ret) - message("AAA ${ret} $ENV{PATH}") - execute_process(COMMAND convert -background none -size 16x16 squawk.svg icns.iconset/icon_16x16.png WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR} RESULT_VARIABLE ret) - message("AAA ${ret}") + execute_process(COMMAND convert -background none -size 16x16 squawk.svg icns.iconset/icon_16x16.png WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}) execute_process(COMMAND convert -background none -resize !32x32 squawk.svg "icns.iconset/icon_16x16@2x.png" WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}) execute_process(COMMAND convert -background none -resize !32x32 squawk.svg "icns.iconset/icon_32x32.png" WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}) execute_process(COMMAND convert -background none -resize !64x64 squawk.svg "icns.iconset/icon_32x32@2x.png" WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}) @@ -134,7 +131,13 @@ if (WITH_KWALLET) endif() endif() -add_executable(squawk WIN32 ${squawk_SRC} ${squawk_HEAD} ${RCC} ${SQUAWK_WIN_RC} ${APP_ICON_MACOSX}) +set(WIN32_FLAG "") +if (WIN32) + if (CMAKE_BUILD_TYPE STREQUAL "Release") + set(WIN32_FLAG WIN32) + endif() +endif(WIN32) +add_executable(squawk ${WIN32_FLAG} ${squawk_SRC} ${squawk_HEAD} ${RCC} ${SQUAWK_WIN_RC} ${APP_ICON_MACOSX}) target_link_libraries(squawk Qt5::Widgets) add_subdirectory(ui) diff --git a/README.md b/README.md index 30c6473..987ca53 100644 --- a/README.md +++ b/README.md @@ -9,7 +9,6 @@ ### Prerequisites - QT 5.12 *(lower versions might work but it wasn't tested)* -- uuid _(usually included in some other package, for example it's ***libutil-linux*** in archlinux)_ - lmdb - CMake 3.0 or higher - qxmpp 1.1.0 or higher @@ -44,7 +43,7 @@ $ git clone https://git.macaw.me/blue/squawk $ cd squawk $ mkdir build $ cd build -$ cmake .. +$ cmake .. [-DLMDB_DIR:PATH=/path/to/lmdb] $ cmake --build . ``` @@ -57,7 +56,7 @@ $ git clone --recurse-submodules https://git.macaw.me/blue/squawk $ cd squawk $ mkdir build $ cd build -$ cmake .. -D SYSTEM_QXMPP=False +$ cmake .. -D SYSTEM_QXMPP=False [-DLMDB_DIR:PATH=/path/to/lmdb] $ cmake --build . ``` diff --git a/core/CMakeLists.txt b/core/CMakeLists.txt index a5ba6fd..306b4f5 100644 --- a/core/CMakeLists.txt +++ b/core/CMakeLists.txt @@ -8,11 +8,18 @@ find_package(Qt5Gui CONFIG REQUIRED) find_package(Qt5Network CONFIG REQUIRED) find_package(Qt5Xml CONFIG REQUIRED) -find_path(LMDB_INCLUDE_DIR NAMES lmdb.h PATHS "${LMDB_DIR}/include") -set(LMDB_LIBRARIES "${LMDB_DIR}/lib/liblmdb.a" ) +# Find LMDB from system or ${LMDB_DIR} +find_path(LMDB_INCLUDE_DIR NAMES lmdb.h PATHS "${LMDB_DIR}/include") -message(${LMDB_INCLUDE_DIR}) -message(${LMDB_LIBRARIES}) +if (UNIX AND NOT APPLE) + # Linux + find_library(sudo rLMDB_LIBRARIES NAMES liblmdb.a liblmdb.so PATHS ${LMDB_DIR}) + set(THREADS_PREFER_PTHREAD_FLAG ON) + find_package(Threads REQUIRED) +else (UNIX AND NOT APPLE) + # Windows / macOS: LMDB_DIR has to be specified + set(LMDB_LIBRARIES "${LMDB_DIR}/lib/liblmdb.a") +endif (UNIX AND NOT APPLE) set(squawkCORE_SRC squawk.cpp @@ -46,8 +53,13 @@ target_link_libraries(squawkCORE Qt5::Network) target_link_libraries(squawkCORE Qt5::Gui) target_link_libraries(squawkCORE Qt5::Xml) target_link_libraries(squawkCORE qxmpp) -# target_link_libraries(squawkCORE lmdb) + target_link_libraries(squawkCORE ${LMDB_LIBRARIES}) +if (UNIX AND NOT APPLE) + # Linux + target_link_libraries(squawkCORE Threads::Threads) +endif (UNIX AND NOT APPLE) + target_link_libraries(squawkCORE simpleCrypt) if (WITH_KWALLET) target_link_libraries(squawkCORE kwalletPSE) diff --git a/core/account.cpp b/core/account.cpp index ab7403b..094fd3c 100644 --- a/core/account.cpp +++ b/core/account.cpp @@ -19,7 +19,6 @@ #include "account.h" #include #include -#include "shared/utils.h" using namespace Core; @@ -406,13 +405,9 @@ void Core::Account::sendMessage(const Shared::Message& data) { void Core::Account::sendMessage(const Shared::Message& data, const QString& path) { mh->sendMessage(data, path);} -void Core::Account::onMamMessageReceived(const QString& queryId, const QXmppMessage& msgConst) +void Core::Account::onMamMessageReceived(const QString& queryId, const QXmppMessage& msg) { - QXmppMessage msg(msgConst); - if (msg.id().size() == 0) { - msg.setId(Shared::generateUUID() + QStringLiteral("-squawkgenerated")); - } - if ((msg.body().size() > 0 || msg.outOfBandUrl().size() > 0)) { + if (msg.id().size() > 0 && (msg.body().size() > 0 || msg.outOfBandUrl().size() > 0)) { std::map::const_iterator itr = archiveQueries.find(queryId); if (itr != archiveQueries.end()) { QString jid = itr->second; diff --git a/core/archive.cpp b/core/archive.cpp index 08b12c8..a1f8b76 100644 --- a/core/archive.cpp +++ b/core/archive.cpp @@ -58,7 +58,7 @@ void Core::Archive::open(const QString& account) } mdb_env_set_maxdbs(environment, 5); - mdb_env_set_mapsize(environment, 16UL * 1024UL * 1024UL); + mdb_env_set_mapsize(environment, 512UL * 1024UL * 1024UL); mdb_env_open(environment, path.toStdString().c_str(), 0, 0664); MDB_txn *txn; diff --git a/core/squawk.cpp b/core/squawk.cpp index 42e5cee..1689d71 100644 --- a/core/squawk.cpp +++ b/core/squawk.cpp @@ -119,9 +119,8 @@ void Core::Squawk::newAccountRequest(const QMap& map) QString server = map.value("server").toString(); QString password = map.value("password").toString(); QString resource = map.value("resource").toString(); - int passwordType = map.value("passwordType").toInt(); - addAccount(login, server, password, name, resource, Shared::Global::fromInt(passwordType)); + addAccount(login, server, password, name, resource, Shared::AccountPassword::plain); } void Core::Squawk::addAccount( diff --git a/core/squawk.h b/core/squawk.h index 604a941..31812d2 100644 --- a/core/squawk.h +++ b/core/squawk.h @@ -171,7 +171,7 @@ private: Shared::AccountPassword passwordType ); - static const quint64 passwordHash = 0x3c5bb27570f50e11; + static const quint64 passwordHash = 0x08d054225ac4871d; }; } diff --git a/main.cpp b/main.cpp index 4ab6253..4c4b3ea 100644 --- a/main.cpp +++ b/main.cpp @@ -40,7 +40,6 @@ int main(int argc, char *argv[]) QApplication app(argc, argv); SignalCatcher sc(&app); - QApplication::setOrganizationName("squawk"); QApplication::setApplicationName("squawk"); QApplication::setApplicationDisplayName("Squawk"); QApplication::setApplicationVersion("0.1.5"); diff --git a/signalcatcher_win32.cpp b/signalcatcher_win32.cpp index 61d43df..ca7b5a2 100644 --- a/signalcatcher_win32.cpp +++ b/signalcatcher_win32.cpp @@ -1,6 +1,6 @@ /* - * Squawk messenger. - * Copyright (C) 2019 Yury Gubich + * Squawk messenger. + * Copyright (C) 2021 Shunf4 * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/squawk.rc b/squawk.rc index bf45d51..6061f20 100644 --- a/squawk.rc +++ b/squawk.rc @@ -1 +1 @@ -IDI_ICON1 ICON "squawk.ico" \ No newline at end of file +IDI_ICON1 ICON "squawk.ico" diff --git a/ui/CMakeLists.txt b/ui/CMakeLists.txt index a68ff16..8fd04ff 100644 --- a/ui/CMakeLists.txt +++ b/ui/CMakeLists.txt @@ -36,6 +36,7 @@ set(squawkUI_SRC utils/dropshadoweffect.cpp ) +# Add squawk.ui to squawkUI_SRC so that the .ui files are displayed in Qt Creator qt5_wrap_ui(squawkUI_SRC squawk.ui ) diff --git a/ui/squawk.cpp b/ui/squawk.cpp index 2058e3d..41634ad 100644 --- a/ui/squawk.cpp +++ b/ui/squawk.cpp @@ -982,7 +982,6 @@ void Squawk::readSettings() void Squawk::writeSettings() { QSettings settings; - qDebug() << "settings.fileName: " << settings.fileName(); settings.beginGroup("ui"); settings.beginGroup("window"); settings.setValue("geometry", saveGeometry()); @@ -1024,7 +1023,6 @@ void Squawk::writeSettings() } settings.endGroup(); settings.endGroup(); - } void Squawk::onItemCollepsed(const QModelIndex& index) diff --git a/ui/utils/badge.cpp b/ui/utils/badge.cpp index 164e0ad..ef15bd2 100644 --- a/ui/utils/badge.cpp +++ b/ui/utils/badge.cpp @@ -33,9 +33,6 @@ Badge::Badge(const QString& p_id, const QString& p_text, const QIcon& icon, QWid image->setPixmap(icon.pixmap(25, 25)); closeButton->setIcon(QIcon::fromTheme("tab-close")); - QIcon qIcon; - qIcon.addFile(QString::fromUtf8(":/images/fallback/dark/big/edit-none.svg"), QSize(), QIcon::Normal, QIcon::Off); - closeButton->setIcon(qIcon); closeButton->setMaximumHeight(25); closeButton->setMaximumWidth(25); diff --git a/ui/utils/message.cpp b/ui/utils/message.cpp index ae354ac..7a004bb 100644 --- a/ui/utils/message.cpp +++ b/ui/utils/message.cpp @@ -203,23 +203,16 @@ void Message::showFile(const QString& path) file = new Image(path); } else { file = new QLabel(); - QIcon qIcon = QIcon::fromTheme(type.iconName()); - if (qIcon.isNull()) { - qIcon.addFile(QString::fromUtf8(":/images/fallback/dark/big/mail-attachment.svg"), QSize(), QIcon::Normal, QIcon::Off); - } - file->setPixmap(qIcon.pixmap(50)); + file->setPixmap(QIcon::fromTheme(type.iconName()).pixmap(50)); file->setAlignment(Qt::AlignCenter); showComment(info.fileName(), true); } file->setContextMenuPolicy(Qt::ActionsContextMenu); - QAction* openAction = new QAction(QIcon::fromTheme("document-new-from-template"), tr("Open"), this); + QAction* openAction = new QAction(QIcon::fromTheme("document-new-from-template"), tr("Open"), file); connect(openAction, &QAction::triggered, [path]() { //TODO need to get rid of this shame QDesktopServices::openUrl(QUrl::fromLocalFile(path)); }); file->addAction(openAction); - fileComment->setContextMenuPolicy(Qt::ActionsContextMenu); - fileComment->addAction(openAction); - bodyLayout->insertWidget(2, file); hasFile = true; } diff --git a/ui/utils/messageline.cpp b/ui/utils/messageline.cpp index 0f55bdf..fec0037 100644 --- a/ui/utils/messageline.cpp +++ b/ui/utils/messageline.cpp @@ -38,8 +38,7 @@ MessageLine::MessageLine(bool p_room, QWidget* parent): downloading(), room(p_room), busyShown(false), - progress(), - lastHeight(0) + progress() { setContentsMargins(0, 0, 0, 0); layout->setContentsMargins(0, 0, 0, 0); @@ -164,7 +163,6 @@ MessageLine::Position MessageLine::message(const Shared::Message& msg, bool forc emit requestLocalFile(msg.getId(), msg.getOutOfBandUrl()); connect(message, &Message::buttonClicked, this, &MessageLine::onDownload); } - qDebug() << "inserted message " << id; return res; } @@ -311,11 +309,7 @@ void MessageLine::movePalAvatarToEx(const QString& name) void MessageLine::resizeEvent(QResizeEvent* event) { QWidget::resizeEvent(event); - - qDebug() << "Resize(unordered): " << event->size().height() << event->oldSize().height(); - qDebug() << "Resize: " << height() << lastHeight; - emit resize(height() - lastHeight); - lastHeight = height(); + emit resize(event->size().height() - event->oldSize().height()); } @@ -334,7 +328,6 @@ void MessageLine::showBusyIndicator() layout->insertWidget(0, &progress); progress.start(); busyShown = true; - qDebug() << "showBusyIndicator"; } } @@ -344,7 +337,6 @@ void MessageLine::hideBusyIndicator() progress.stop(); layout->removeWidget(&progress); busyShown = false; - qDebug() << "hideBusyIndicator"; } } diff --git a/ui/utils/messageline.h b/ui/utils/messageline.h index 2a25ac0..a0a7b6c 100644 --- a/ui/utils/messageline.h +++ b/ui/utils/messageline.h @@ -103,7 +103,6 @@ private: bool room; bool busyShown; Progress progress; - int lastHeight; }; #endif // MESSAGELINE_H diff --git a/ui/widgets/CMakeLists.txt b/ui/widgets/CMakeLists.txt index 0338778..ffd661e 100644 --- a/ui/widgets/CMakeLists.txt +++ b/ui/widgets/CMakeLists.txt @@ -21,6 +21,7 @@ set(squawkWidgets_SRC joinconference.cpp ) +# Add to squawkUI_SRC so that the .ui files are displayed in Qt Creator qt5_wrap_ui(squawkWidgets_SRC account.ui accounts.ui diff --git a/ui/widgets/conversation.cpp b/ui/widgets/conversation.cpp index cfc3a52..fd87d9f 100644 --- a/ui/widgets/conversation.cpp +++ b/ui/widgets/conversation.cpp @@ -21,7 +21,6 @@ #include "ui/utils/dropshadoweffect.h" #include -#include #include #include #include @@ -29,9 +28,6 @@ #include #include #include -#include -#include -#include Conversation::Conversation(bool muc, Models::Account* acc, const QString pJid, const QString pRes, QWidget* parent): QWidget(parent), @@ -54,8 +50,7 @@ Conversation::Conversation(bool muc, Models::Account* acc, const QString pJid, c manualSliderChange(false), requestingHistory(false), everShown(false), - tsb(QApplication::style()->styleHint(QStyle::SH_ScrollBar_Transient) == 1), - pasteImageAction(nullptr) + tsb(QApplication::style()->styleHint(QStyle::SH_ScrollBar_Transient) == 1) { m_ui->setupUi(this); @@ -68,7 +63,6 @@ Conversation::Conversation(bool muc, Models::Account* acc, const QString pJid, c statusLabel = m_ui->statusLabel; connect(&ker, &KeyEnterReceiver::enterPressed, this, &Conversation::onEnterPressed); - connect(&ker, &KeyEnterReceiver::imagePasted, this, &Conversation::onImagePasted); connect(&scrollResizeCatcher, &Resizer::resized, this, &Conversation::onScrollResize); connect(&vis, &VisibilityCatcher::shown, this, &Conversation::onScrollResize); connect(&vis, &VisibilityCatcher::hidden, this, &Conversation::onScrollResize); @@ -83,20 +77,6 @@ Conversation::Conversation(bool muc, Models::Account* acc, const QString pJid, c this, &Conversation::onTextEditDocSizeChanged); m_ui->messageEditor->installEventFilter(&ker); - - QAction* pasteImageAction = new QAction(tr("Paste Image"), this); - connect(pasteImageAction, &QAction::triggered, this, &Conversation::onImagePasted); - - m_ui->messageEditor->setContextMenuPolicy(Qt::CustomContextMenu); - connect(m_ui->messageEditor, &QTextEdit::customContextMenuRequested, this, [this, pasteImageAction](const QPoint &pos) { - pasteImageAction->setEnabled(Conversation::checkClipboardImage()); - - QMenu *editorMenu = m_ui->messageEditor->createStandardContextMenu(); - editorMenu->addSeparator(); - editorMenu->addAction(pasteImageAction); - - editorMenu->exec(this->m_ui->messageEditor->mapToGlobal(pos)); - }); QScrollBar* vs = m_ui->scrollArea->verticalScrollBar(); m_ui->scrollArea->setWidget(line); @@ -224,20 +204,10 @@ bool KeyEnterReceiver::eventFilter(QObject* obj, QEvent* event) } } } - if (k == Qt::Key_V && key->modifiers() & Qt::CTRL) { - if (Conversation::checkClipboardImage()) { - emit imagePasted(); - return true; - } - } } return QObject::eventFilter(obj, event); } -bool Conversation::checkClipboardImage() { - return !QApplication::clipboard()->image().isNull(); -} - QString Conversation::getPalResource() const { return activePalResource; @@ -269,20 +239,6 @@ void Conversation::onEnterPressed() } } -void Conversation::onImagePasted() -{ - QImage image = QApplication::clipboard()->image(); - if (image.isNull()) { - return; - } - QTemporaryFile *tempFile = new QTemporaryFile(QDir::tempPath() + QStringLiteral("/squawk_img_attach_XXXXXX.png"), QApplication::instance()); - tempFile->open(); - image.save(tempFile, "PNG"); - tempFile->close(); - qDebug() << "image on paste temp file: " << tempFile->fileName(); - addAttachedFile(tempFile->fileName()); -} - void Conversation::appendMessageWithUpload(const Shared::Message& data, const QString& path) { line->appendMessageWithUploadNoSiganl(data, path); @@ -291,28 +247,18 @@ void Conversation::appendMessageWithUpload(const Shared::Message& data, const QS void Conversation::onMessagesResize(int amount) { manualSliderChange = true; - qDebug() << "Scroll: " << scroll; switch (scroll) { case down: - qDebug() << "setValue 1: " << m_ui->scrollArea->verticalScrollBar()->maximum(); m_ui->scrollArea->verticalScrollBar()->setValue(m_ui->scrollArea->verticalScrollBar()->maximum()); break; case keep: { int max = m_ui->scrollArea->verticalScrollBar()->maximum(); int value = m_ui->scrollArea->verticalScrollBar()->value() + amount; m_ui->scrollArea->verticalScrollBar()->setValue(value); - qDebug() << "setValue 2 max: " << max; - qDebug() << "setValue 2 value: " << m_ui->scrollArea->verticalScrollBar()->value(); - qDebug() << "setValue 2 amount: " << amount; - qDebug() << "setValue 2: " << value; - qDebug() << "isMax: " << (value > max); - if (value > max) { - qDebug() << "setValue 2 scroll = down"; + if (value == max) { scroll = down; - m_ui->scrollArea->verticalScrollBar()->setValue(max); } else { - qDebug() << "setValue 2 scroll = nothing"; scroll = nothing; } } @@ -327,17 +273,14 @@ void Conversation::onSliderValueChanged(int value) { if (!manualSliderChange) { if (value == m_ui->scrollArea->verticalScrollBar()->maximum()) { - qDebug() << "onSliderValueChanged: scroll = down"; scroll = down; } else { if (!requestingHistory && value == 0) { requestingHistory = true; line->showBusyIndicator(); emit requestArchive(line->firstMessageId()); - qDebug() << "onSliderValueChanged: scroll = keep"; scroll = keep; } else { - qDebug() << "onSliderValueChanged: scroll = nothing"; scroll = nothing; } } @@ -347,7 +290,6 @@ void Conversation::onSliderValueChanged(int value) void Conversation::responseArchive(const std::list list) { requestingHistory = false; - qDebug() << "responseArchive scroll = keep"; scroll = keep; line->hideBusyIndicator(); @@ -362,7 +304,6 @@ void Conversation::showEvent(QShowEvent* event) everShown = true; line->showBusyIndicator(); requestingHistory = true; - qDebug() << "showEvent scroll = keep"; scroll = keep; emit requestArchive(line->firstMessageId()); } diff --git a/ui/widgets/conversation.h b/ui/widgets/conversation.h index 0a366a8..ea87607 100644 --- a/ui/widgets/conversation.h +++ b/ui/widgets/conversation.h @@ -52,7 +52,6 @@ protected: signals: void enterPressed(); - void imagePasted(); }; class VisibilityCatcher : public QObject { @@ -91,7 +90,6 @@ public: void changeMessage(const QString& id, const QMap& data); void setFeedFrames(bool top, bool right, bool bottom, bool left); virtual void appendMessageWithUpload(const Shared::Message& data, const QString& path); - static bool checkClipboardImage(); signals: void sendMessage(const Shared::Message& message); @@ -115,7 +113,6 @@ protected: protected slots: void onEnterPressed(); - void onImagePasted(); void onMessagesResize(int amount); void onSliderValueChanged(int value); void onAttach(); @@ -154,7 +151,6 @@ protected: bool requestingHistory; bool everShown; bool tsb; //transient scroll bars - QAction *pasteImageAction; }; #endif // CONVERSATION_H diff --git a/ui/widgets/conversation.ui b/ui/widgets/conversation.ui index 902ed86..7093bcb 100644 --- a/ui/widgets/conversation.ui +++ b/ui/widgets/conversation.ui @@ -243,7 +243,7 @@ 0 0 520 - 380 + 385 @@ -325,8 +325,8 @@ - - :/images/fallback/dark/big/unfavorite.svg:/images/fallback/dark/big/unfavorite.svg + + .. true @@ -352,8 +352,8 @@ - - :/images/fallback/dark/big/mail-attachment.svg:/images/fallback/dark/big/mail-attachment.svg + + .. true @@ -366,8 +366,8 @@ - - :/images/fallback/dark/big/clean.svg:/images/fallback/dark/big/clean.svg + + .. true @@ -386,8 +386,8 @@ - - :/images/fallback/dark/big/send.svg:/images/fallback/dark/big/send.svg + + .. true @@ -454,8 +454,8 @@ background-color: transparent <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'SimSun'; font-size:9pt; font-weight:400; font-style:normal;"> -<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'Liberation Sans'; font-size:10pt;"><br /></p></body></html> +</style></head><body style=" font-family:'Liberation Sans'; font-size:10pt; font-weight:400; font-style:normal;"> +<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><br /></p></body></html> false @@ -473,8 +473,6 @@ p, li { white-space: pre-wrap; } - - - +