Skip to content
Snippets Groups Projects
Select Git revision
  • a919eaa082ba6120f420e3f1531f8faebabc06da
  • master default protected
  • release/202005
  • release/202001
  • release/201912
  • release/201911
  • release/releaseWindowsTestOne
  • release/windowsReleaseTest
  • release/releaseTest
  • release/releaseWindowsTest
  • release/201910
  • release/qt/201910
  • release/windows-test/201910
  • release/201908
  • release/201906
  • release/201905
  • release/201904
  • release/201903
  • release/201902
  • release/201901
  • release/201812
  • 4.0.0
  • 2.2.0
  • 2.1.0
  • 2.0.1
  • 2.0.0
  • 1.4.1
  • 1.4.0
  • 1.3.0
  • 1.2.0
  • 1.1.0
31 results

sipvoiplink.cpp

Blame
  • Code owners
    Assign users and groups as approvers for specific file changes. Learn more.
    mainwindowtoolbar.cpp 2.89 KiB
    /***************************************************************************
     * Copyright (C) 2015-2016 by Savoir-faire Linux                                *
     * Author: Jäger Nicolas <nicolas.jager@savoirfairelinux.com>              *
     *                                                                         *
     * 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    *
     * the Free Software Foundation; either version 3 of the License, or       *
     * (at your option) any later version.                                     *
     *                                                                         *
     * This program is distributed in the hope that it will be useful,         *
     * but WITHOUT ANY WARRANTY; without even the implied warranty of          *
     * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the           *
     * GNU General Public License for more details.                            *
     *                                                                         *
     * You should have received a copy of the GNU General Public License       *
     * along with this program.  If not, see <http://www.gnu.org/licenses/>.   *
     **************************************************************************/
    
    #include <QIcon>
    #include <QPainter>
    #include <QMouseEvent>
    #include <QMenu>
    #include <QMenuBar>
    
    #include "mainwindowtoolbar.h"
    
    MainWindowToolBar::MainWindowToolBar(QToolBar* parent) :
        QToolBar(parent),
        spacer_(new QWidget())
    {
      setFixedHeight(25);
    
      setMovable(false);
    
      contactslist_ = addAction(QIcon(":images/contactswidgetlist.png"), tr("contacts"));
      contactslist_->setCheckable(true);
    
      history_ = addAction(QIcon(":images/historylist.png"), tr("history"));
      history_->setCheckable(true);
    
      spacer_->setSizePolicy(QSizePolicy::Expanding,QSizePolicy::Expanding);
      addWidget(spacer_);
    
      settings_ = addAction(QIcon(":images/settings.png"), tr("settings"));
    
      connect( history_, &QAction::triggered, this, &MainWindowToolBar::historyToggled);
      connect( contactslist_, &QAction::triggered, this, &MainWindowToolBar::contactslistToggled);
    }
    
    MainWindowToolBar::~MainWindowToolBar()
    {
        delete spacer_;
    }
    
    void
    MainWindowToolBar::paintEvent(QPaintEvent* event)
    {
        Q_UNUSED(event);
    
        QPainter painter(this);
        QBrush background(QColor(63, 63, 63));
    
        painter.setBrush(background);
        painter.setPen  (Qt::NoPen ); // No stroke
        painter.drawRect(0, 0, width(), height());
    }
    
    void
    MainWindowToolBar::historyToggled(bool checked)
    {
        if (checked)
        {
            contactslist_->setChecked(false);
            history_->setChecked(true);
        }
        else
            history_->setChecked(false);
    }
    
    void
    MainWindowToolBar::contactslistToggled(bool checked)
    {
        if (checked)
        {
            history_->setChecked(false);
            contactslist_->setChecked(true);
        }
        else
            contactslist_->setChecked(false);
    }