|
Lines 71-76
Link Here
|
| 71 |
#include "kmplayervdr.h" |
71 |
#include "kmplayervdr.h" |
| 72 |
#include "kmplayerconfig.h" |
72 |
#include "kmplayerconfig.h" |
| 73 |
|
73 |
|
|
|
74 |
#include <X11/Xlib.h> |
| 75 |
#ifdef HAVE_XTEST |
| 76 |
#include <X11/keysym.h> |
| 77 |
#include <X11/extensions/XTest.h> |
| 78 |
#endif |
| 79 |
|
| 74 |
static const int DVDNav_start = 1; |
80 |
static const int DVDNav_start = 1; |
| 75 |
static const int DVDNav_previous = 2; |
81 |
static const int DVDNav_previous = 2; |
| 76 |
static const int DVDNav_next = 3; |
82 |
static const int DVDNav_next = 3; |
|
Lines 531-536
KDE_NO_CDTOR_EXPORT KMPlayerApp::KMPlayerApp(TQWidget* , const char* name)
Link Here
|
| 531 |
initActions(); |
537 |
initActions(); |
| 532 |
initView(); |
538 |
initView(); |
| 533 |
|
539 |
|
|
|
540 |
haveXTest = false; |
| 541 |
#ifdef HAVE_XTEST |
| 542 |
int dummy_event, dummy_error, dummy_major, dummy_minor; |
| 543 |
if (XTestQueryExtension(x11Display(), &dummy_event, &dummy_error, &dummy_major, &dummy_minor)) { |
| 544 |
fakeKeycode = XKeysymToKeycode(x11Display(), XK_Shift_L); |
| 545 |
if (fakeKeycode != 0) |
| 546 |
haveXTest = true; |
| 547 |
} |
| 548 |
#endif |
| 549 |
/** KWin are you there? **/ |
| 550 |
m_haveKWin = KApplication::dcopClient()->isApplicationRegistered("kwin"); |
| 551 |
if (m_haveKWin) |
| 552 |
kdDebug() << "Window manager: KWin found" << endl; |
| 553 |
else |
| 554 |
kdDebug() << "Window manager: not KWin - using save fullscreen mode" << endl; |
| 555 |
connect(&m_screensaverTimer, TQT_SIGNAL(timeout()), TQT_TQOBJECT(this), TQT_SLOT(slotFakeKeyEvent())); |
| 556 |
m_screensaverTimer.start( 55000 ); |
| 557 |
|
| 534 |
//setAutoSaveSettings(); |
558 |
//setAutoSaveSettings(); |
| 535 |
playlist = new Playlist (this, lstsrc); |
559 |
playlist = new Playlist (this, lstsrc); |
| 536 |
playlist_id = m_view->playList ()->addTree (playlist, "listssource", "player_playlist", KMPlayer::PlayListView::AllowDrag | KMPlayer::PlayListView::AllowDrops | KMPlayer::PlayListView::TreeEdit | KMPlayer::PlayListView::Moveable | KMPlayer::PlayListView::Deleteable); |
560 |
playlist_id = m_view->playList ()->addTree (playlist, "listssource", "player_playlist", KMPlayer::PlayListView::AllowDrag | KMPlayer::PlayListView::AllowDrops | KMPlayer::PlayListView::TreeEdit | KMPlayer::PlayListView::Moveable | KMPlayer::PlayListView::Deleteable); |
|
Lines 683-688
KDE_NO_EXPORT void KMPlayerApp::initView () {
Link Here
|
| 683 |
setAcceptDrops (true); |
707 |
setAcceptDrops (true); |
| 684 |
} |
708 |
} |
| 685 |
|
709 |
|
|
|
710 |
void KMPlayerApp::slotFakeKeyEvent() |
| 711 |
{ |
| 712 |
if ( m_player && m_player->isPlaying() && !m_player->isPaused()) |
| 713 |
if (m_haveKWin) { |
| 714 |
// use a better method if we're in a kde environment |
| 715 |
kdDebug() << "KMPlayer: Fake mouse movement\n"; |
| 716 |
XWarpPointer(x11Display(), None, None, 0, 0, 0, 0, 0, 0); |
| 717 |
XFlush(x11Display()); |
| 718 |
} else { |
| 719 |
if(haveXTest) { |
| 720 |
#ifdef HAVE_XTEST |
| 721 |
kdDebug() << "KMPlayer: Fake key press\n"; |
| 722 |
XTestFakeKeyEvent(x11Display(), fakeKeycode, true, 0); |
| 723 |
XTestFakeKeyEvent(x11Display(), fakeKeycode, false, 0); |
| 724 |
XFlush(x11Display()); |
| 725 |
#endif |
| 726 |
} |
| 727 |
} |
| 728 |
} |
| 729 |
|
| 730 |
|
| 686 |
KDE_NO_EXPORT void KMPlayerApp::loadingProgress (int perc) { |
731 |
KDE_NO_EXPORT void KMPlayerApp::loadingProgress (int perc) { |
| 687 |
if (perc < 100) |
732 |
if (perc < 100) |
| 688 |
statusBar ()->changeItem (TQString ("%1%").arg (perc), id_status_timer); |
733 |
statusBar ()->changeItem (TQString ("%1%").arg (perc), id_status_timer); |