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