void PersonView::slotLinkClicked( const QUrl &url ) { qDebug() << "CLICKED" << url; if ( url.scheme() == "polka" ) { QStringList path = url.path().split("/"); QString action = path.first(); qDebug() << "ACTION" << action; if ( action == "editName" ) editName(); else if ( action == "addEmail" ) addEmail(); else if ( action == "editEmail" ) editEmail( path.value( 1 ) ); else if ( action == "removeEmail" ) removeEmail( path.value( 1 ) ); else if ( action == "commentEmail" ) commentEmail( path.value( 1 ) ); else if ( action == "addPhone" ) addPhone(); else if ( action == "editPhone" ) editPhone( path.value( 1 ) ); else if ( action == "removePhone" ) removePhone( path.value( 1 ) ); else if ( action == "commentPhone" ) commentPhone( path.value( 1 ) ); else if ( action == "addLink" ) addLink(); else if ( action == "editLink" ) editLink( path.value( 1 ) ); else if ( action == "removeLink" ) removeLink( path.value( 1 ) ); else if ( action == "commentLink" ) commentLink( path.value( 1 ) ); else if ( action == "addAddress" ) addAddress(); else if ( action == "editAddress" ) editAddress( path.value( 1 ) ); else if ( action == "removeAddress" ) removeAddress( path.value( 1 ) ); else if ( action == "commentAddress" ) commentAddress( path.value( 1 ) ); else if ( action == "addComment" ) addComment(); else if ( action == "editComment" ) editComment( path.value( 1 ) ); else if ( action == "removeComment" ) removeComment( path.value( 1 ) ); else if ( action == "close" ) requestClose(); else if ( action == "magic" ) debugHtml(); else qDebug() << "unknown action" << action; } else { new KRun( QUrl( url ), this ); } }
BOOL CScreensLinks::doDlgProc(HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam) { switch (message) { case WM_INITDIALOG: init(hwnd); return TRUE; case WM_SIZE: resizeErrorBoxes(); break; case WM_COMMAND: switch (LOWORD(wParam)) { case IDOK: SetFocus(getItem(hwnd, IDOK)); if (save(hwnd)) { EndDialog(hwnd, 0); } return TRUE; case IDCANCEL: EndDialog(hwnd, 0); return TRUE; case IDC_SCREENS_SCREENS: switch (HIWORD(wParam)) { case LBN_DBLCLK: editScreen(hwnd); return TRUE; case LBN_SELCHANGE: updateScreensControls(hwnd); updateLinkView(hwnd); return TRUE; case LBN_SELCANCEL: updateScreensControls(hwnd); updateLinkView(hwnd); return TRUE; } break; case IDC_SCREENS_ADD_SCREEN: addScreen(hwnd); return TRUE; case IDC_SCREENS_REMOVE_SCREEN: removeScreen(hwnd); return TRUE; case IDC_SCREENS_EDIT_SCREEN: editScreen(hwnd); return TRUE; case IDC_SCREENS_LINKS: switch (HIWORD(wParam)) { case LBN_SELCHANGE: editLink(hwnd); return TRUE; case LBN_SELCANCEL: editLink(hwnd); return TRUE; } break; case IDC_SCREENS_ADD_LINK: addLink(hwnd); return TRUE; case IDC_SCREENS_REMOVE_LINK: removeLink(hwnd); return TRUE; case IDC_SCREENS_SRC_SIDE: switch (HIWORD(wParam)) { case CBN_SELCHANGE: changeSrcSide(hwnd); break; } break; case IDC_SCREENS_SRC_SCREEN: switch (HIWORD(wParam)) { case CBN_SELCHANGE: changeSrcScreen(hwnd); break; } break; case IDC_SCREENS_DST_SCREEN: switch (HIWORD(wParam)) { case CBN_SELCHANGE: changeDstScreen(hwnd); break; } break; case IDC_SCREENS_SRC_START: switch (HIWORD(wParam)) { case EN_KILLFOCUS: changeIntervalStart(hwnd, LOWORD(wParam), m_editedLink.m_srcInterval); break; } break; case IDC_SCREENS_SRC_END: switch (HIWORD(wParam)) { case EN_KILLFOCUS: changeIntervalEnd(hwnd, LOWORD(wParam), m_editedLink.m_srcInterval); break; } break; case IDC_SCREENS_DST_START: switch (HIWORD(wParam)) { case EN_KILLFOCUS: changeIntervalStart(hwnd, LOWORD(wParam), m_editedLink.m_dstInterval); break; } break; case IDC_SCREENS_DST_END: switch (HIWORD(wParam)) { case EN_KILLFOCUS: changeIntervalEnd(hwnd, LOWORD(wParam), m_editedLink.m_dstInterval); break; } break; } break; case WM_CTLCOLORSTATIC: switch (GetDlgCtrlID((HWND)lParam)) { case IDC_SCREENS_OVERLAP_ERROR: SetBkColor((HDC)wParam, GetSysColor(COLOR_3DFACE)); SetTextColor((HDC)wParam, RGB(255, 0, 0)); return (BOOL)GetSysColorBrush(COLOR_3DFACE); } break; // error outlines case WM_DRAWITEM: { DRAWITEMSTRUCT* di = (DRAWITEMSTRUCT*)lParam; if (di->CtlType == ODT_STATIC) { HGDIOBJ oldPen = SelectObject(di->hDC, m_redPen); HGDIOBJ oldBrush = SelectObject(di->hDC, GetStockObject(NULL_BRUSH)); Rectangle(di->hDC, di->rcItem.left, di->rcItem.top, di->rcItem.right, di->rcItem.bottom); SelectObject(di->hDC, oldPen); SelectObject(di->hDC, oldBrush); return TRUE; } break; } default: break; } return FALSE; }