MyVis::~MyVis() { disconnect(fsAct, SIGNAL(triggered()), this, SLOT(fKey())); delete fsAct; disconnect( this, SIGNAL( startTimerSignal( int ) ), this, SLOT( startTimerSlot( int ) ) ); disconnect(this, SIGNAL(customContextMenuRequested(QPoint)), this, SLOT(popupMenu())); }
void EnumDataKey(int nTabLevel, ISpDataKey *pSpDataKey) { HRESULT hr = S_OK; // enumerate subkeys recursively for (ULONG k = 0; ; k++) { LPWSTR key = nullptr; hr = pSpDataKey->EnumKeys(k, &key); if (SPERR_NO_MORE_ITEMS == hr) { // done break; } else if (FAILED(hr)) { ERR(L"ISpDataKey::EnumKeys failed: hr = 0x%08x", hr); continue; } CoTaskMemFreeOnExit fKey(key); Tab(nTabLevel); LOG(L"%s", key); ISpDataKey *pSubKey = nullptr; hr = pSpDataKey->OpenKey(key, &pSubKey); if (FAILED(hr)) { ERR(L"ISpDataKey::OpenKeys failed: hr = 0x%08x", hr); continue; } ReleaseOnExit rSubKey(pSubKey); EnumDataKey(nTabLevel + 1, pSubKey); } // enumerate values for (ULONG v = 0; ; v++) { LPWSTR val = nullptr; hr = pSpDataKey->EnumValues(v, &val); if (SPERR_NO_MORE_ITEMS == hr) { // done break; } else if (FAILED(hr)) { ERR(L"ISpDataKey::EnumKeys failed: hr = 0x%08x", hr); continue; } CoTaskMemFreeOnExit fVal(val); // how do we know whether it's a string or a DWORD? LPWSTR data = nullptr; hr = pSpDataKey->GetStringValue(val, &data); if (FAILED(hr)) { ERR(L"ISpDataKey::GetStringValue failed: hr = 0x%08x", hr); continue; } CoTaskMemFreeOnExit fData(data); Tab(nTabLevel); if (0 == wcscmp(val, L"")) { LOG(L"(default) = %s", data); } else { LOG(L"%s = %s", val, data); } } }
MyVis::MyVis(QWidget *parent) : QGLWidget(parent) { connect(this, SIGNAL(customContextMenuRequested(QPoint)), this, SLOT(popupMenu())); setContextMenuPolicy( Qt::CustomContextMenu ); setObjectName(plugName); setMouseTracking(true); fsAct = new QAction( "Pełny ekran", this ); fsAct->setShortcut( QKeySequence( Qt::Key_F ) ); fsAct->setCheckable(true); connect(fsAct, SIGNAL(triggered()), this, SLOT(fKey())); }
void MyVis::keyPressEvent(QKeyEvent *e) { switch( e->key() ) { case 'Z': QLib->control( 0x3, 0 ); //prev break; case 'X': QLib->control( 0x0, 0 ); //play break; case 'C': QLib->control( 0x9, 0 ); //pause break; case 'V': QLib->control( 0x1, 0 ); //stop break; case 'B': QLib->control( 0x2, 0 ); //next break; case Qt::Key_Left: QLib->control( 0x5, 0 ); break; case Qt::Key_Right: QLib->control( 0x5, 1 ); break; case Qt::Key_Up: QLib->control( 0x21, 0 ); break; case Qt::Key_Down:; QLib->control( 0x22, 0 ); break; case Qt::Key_Space: QLib->control( 0x23, 0 ); //toggle pause break; case Qt::Key_Escape: if ( isFullScreen() ) fKey(); break; } }