Skip to content
Snippets Groups Projects
Select Git revision
  • v0.1
  • master default
  • v0.2
3 results

canvas.cpp

Blame
  • 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;