Select Git revision
canvas.cpp 11.67 KiB
#include <QAction>
#include <QStringListIterator>
#include <QKeySequence>
#include <QString>
#include <QPainter>
#include <QApplication>
#include <QDesktopWidget>
#include <QTimer>
#include <QLabel>
#include <iostream>
#include "canvas.h"
#include "viewer.h"
#include "layout/layout.h"
#include "layout/singlelayout.h"
#include "layout/gridlayout.h"
#include "layout/presenterlayout.h"
#include "resourcemanager.h"
#include "search.h"
#include "gotoline.h"
#include "config.h"
#include "beamerwindow.h"
#include "util.h"
using namespace std;
Canvas::Canvas(Viewer *v, QWidget *parent) :
QWidget(parent),
viewer(v),
triple_click_possible(false),
valid(true) {
setFocusPolicy(Qt::StrongFocus);
// load config options
CFG *config = CFG::get_instance();
{
bool ok;
unsigned int color = config->get_value("Settings/background_color").toString().toUInt(&ok, 16);
if (ok) {
background.setRgba(color);
} else {
cerr << "failed to parse background_color" << endl;
}
}
{
bool ok;
unsigned int color = config->get_value("Settings/background_color_fullscreen").toString().toUInt(&ok, 16);
if (ok) {
background_fullscreen.setRgba(color);
} else {
cerr << "failed to parse background_color_fullscreen" << endl;
}
}
mouse_wheel_factor = config->get_value("Settings/mouse_wheel_factor").toInt();
switch (config->get_value("Settings/click_link_button").toInt()) {
case 1: click_link_button = Qt::LeftButton; break;
case 2: click_link_button = Qt::RightButton; break;
case 3: click_link_button = Qt::MidButton; break;
case 4: click_link_button = Qt::XButton1; break;
case 5: click_link_button = Qt::XButton2; break;
default: click_link_button = Qt::NoButton;
}
switch (config->get_value("Settings/drag_view_button").toInt()) {
case 1: drag_view_button = Qt::LeftButton; break;
case 2: drag_view_button = Qt::RightButton; break;
case 3: drag_view_button = Qt::MidButton; break;
case 4: drag_view_button = Qt::XButton1; break;