~ubuntu-branches/ubuntu/wily/smplayer/wily

« back to all changes in this revision

Viewing changes to src/floatingwidget.cpp

  • Committer: Bazaar Package Importer
  • Author(s): Maia Kozheva
  • Date: 2009-03-31 23:05:43 UTC
  • mfrom: (1.2.2 upstream)
  • mto: This revision was merged to the branch mainline in revision 14.
  • Revision ID: james.westby@ubuntu.com-20090331230543-0h2hfwpwlu9opbv2
* New upstream release. (Closes: #523791)
  - Reworked subtitle font preferences. (Closes: #503295)
  - No longer installs qt_fr.qm. (Closes: #486314)
* debian/control:
  - Bumped Standards-Version to 3.8.1.
  - Changed maintainer name (still the same person and GPG key).
  - Changed section to video.
  - Build-depend on zlib1g-dev for findsubtitles.
  - Require Qt >= 4.3 per readme.
  - Added ${misc:Depends}.
  - Make smplayer-translations depend on smplayer and smplayer recommend
    smplayer-translations, not the other way round. (Closes: #489375)
* debian/copyright:
  - Significantly expanded per-file with new upstream authors.
* debian/rules:
  - Make make use correct uic in install.
  - Clean svn_revision.
  - Removed get-orig-source - not needed with uscan --repack.
* debian/patches/01_gl_translation.patch:
  - Added patch to fix lrelease error on smplayer_gl.ts.
* Added debian/README.source for simple-patchsys.

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
1
/*  smplayer, GUI front-end for mplayer.
2
 
    Copyright (C) 2006-2008 Ricardo Villalba <rvm@escomposlinux.org>
 
2
    Copyright (C) 2006-2009 Ricardo Villalba <rvm@escomposlinux.org>
3
3
 
4
4
    This program is free software; you can redistribute it and/or modify
5
5
    it under the terms of the GNU General Public License as published by
23
23
 
24
24
FloatingWidget::FloatingWidget( QWidget * parent )
25
25
        : QWidget( parent, Qt::Window | Qt::FramelessWindowHint |
26
 
                       Qt::WindowStaysOnTopHint |
27
 
                       Qt::X11BypassWindowManagerHint )
 
26
                       Qt::WindowStaysOnTopHint )
28
27
{
29
28
        setSizePolicy( QSizePolicy::Preferred, QSizePolicy::Minimum );
30
29
 
38
37
 
39
38
        setLayout(layout);
40
39
 
 
40
        _margin = 0;
41
41
        _animated = false;
42
42
        animation_timer = new QTimer(this);
43
43
        animation_timer->setInterval(2);
44
44
        connect( animation_timer, SIGNAL(timeout()), this, SLOT(animate()) );
 
45
 
 
46
        connect( &auto_hide_timer, SIGNAL(timeout()), 
 
47
             this, SLOT(checkUnderMouse()) );
 
48
        setAutoHide(true);
45
49
}
46
50
 
47
51
FloatingWidget::~FloatingWidget() {
48
52
}
49
53
 
 
54
#ifndef Q_OS_WIN
 
55
void FloatingWidget::setBypassWindowManager(bool b) {
 
56
        if (b) {
 
57
                setWindowFlags(windowFlags() | Qt::X11BypassWindowManagerHint);
 
58
        }
 
59
        else {
 
60
                setWindowFlags(windowFlags() & ~Qt::X11BypassWindowManagerHint);
 
61
        }
 
62
}
 
63
#endif
 
64
 
 
65
void FloatingWidget::setAutoHide(bool b) { 
 
66
        auto_hide = b;
 
67
 
 
68
        if (b) 
 
69
                auto_hide_timer.start(5000);
 
70
        else
 
71
                auto_hide_timer.stop();
 
72
}
 
73
 
 
74
 
50
75
void FloatingWidget::showOver(QWidget * widget, int size, Place place) {
51
76
        qDebug("FloatingWidget::showOver");
52
77
 
59
84
        int x = (widget->width() - width() ) / 2;
60
85
        int y;
61
86
        if (place == Top) 
62
 
                y = 0;
 
87
                y = 0 + _margin;
63
88
        else
64
 
                y = widget->height() - height();
 
89
                y = widget->height() - height() - _margin;
65
90
 
66
91
        QPoint p = widget->mapToGlobal(QPoint(x, y));
67
92
 
103
128
        }
104
129
}
105
130
 
 
131
void FloatingWidget::checkUnderMouse() {
 
132
        if (auto_hide) {
 
133
                //qDebug("FloatingWidget::checkUnderMouse");
 
134
                if ((isVisible()) && (!underMouse())) hide();
 
135
        }
 
136
}
 
137
 
106
138
#include "moc_floatingwidget.cpp"