Beispiel #1
0
MainWindow::MainWindow(QWidget *parent) :
    QMainWindow(parent),
    ui(new Ui::MainWindow)
{
    Singleton( );
    ui->setupUi(this);

    pSettings = CCommonFunction::GetSettings( CommonDataType::CfgSystem );
    pTextCodec = CCommonFunction::GetTextCodec( );

    pLocalComm = CLocalSvrCommunication::GetInstance( pTextCodec );
    connect( pLocalComm, SIGNAL( NotifyMsg( QString ) ), this, SLOT( DisplayMessage( QString ) ) );
    pLocalComm->StartupServer( );

    g_pLocalCltComm = new CLocalCltCommunication( pTextCodec, this );
    g_pLocalCltComm->Connect2Server( );

    CNetProcessData::GetCommonParams( );

    netServer = CSvrThread::GetInstance( this );
    connect( netServer, SIGNAL( Notify( QString ) ), this, SLOT(DisplayMessage( QString ) ) );
    netServer->start( );
    netServer->StartupUdpServer( true );
    netServer->StartupTcpServer( true );

    qRegisterMetaType< QAbstractSocket::SocketError >( "QAbstractSocket::SocketError" );
    sysTrayIcon = NULL;
    NotifyIcon( );

    Qt::WindowFlags flags = windowFlags( );
    flags &= ( ~Qt::WindowMinimizeButtonHint );
    setWindowFlags( flags );

    //setWindowState( Qt::WindowMinimized );
    //close( );
}
Beispiel #2
0
LRESULT AutoIt_App::WndProcHandler (HWND hWnd, UINT iMsg, WPARAM wParam, LPARAM lParam)
{
	static UINT s_uTaskbarRestart;				// Holds taskbar recreate message

	// What window is the message for? (note, g_hWnd may be NULL during startup WM_CREATE)
	if (hWnd == g_hWnd || g_hWnd == NULL)
	{
		//
		// Main window messages
		//

		switch (iMsg)
		{
			// Window initial creation
			case WM_CREATE:
				AUT_DEBUGMSG("==> AutoIt_App::WndProc, g_hWnd: WM_CREATE\n")

				// Start the main timer used for flashing the "pause" icon
				SetTimer(hWnd, AUT_MAIN_TIMER_ID, AUT_MAIN_TIMER_DELAY, NULL);

				// Register a message so we know if explorer crashes and we have to redraw taskbar
				s_uTaskbarRestart = RegisterWindowMessage("TaskbarCreated");

				return 0;

			// Some form of timer has been triggered - check it out
			case WM_TIMER:
				HandleTimer(hWnd, wParam, lParam);

				return 0;

			// Menu command received
			case WM_COMMAND:
				if (HandleCommand(hWnd, iMsg, wParam, lParam) == true)
					 return 0;                              // completely handled
				break;

			// Window close clicked, if this returns 0 then user will be prevented from closing
			case WM_CLOSE:
				AUT_DEBUGMSG("==> AutoIt_App::WndProc, g_hWnd: WM_CLOSE\n")

				// Notify the script that close was requested but DON'T allow the system to continue
				// with the defaut WM_CLOSE - we will call DestroyWindow() ourselves from the script
				g_bTrayExitClicked = true;
				g_bKillWorkerThreads = true;			// Ask worker threads to stop (otherwise the script
														// may be blocked - e.g InetGet on a big download)
				//break;
				return 0;

				// Window is being destroyed
			case WM_DESTROY:
				AUT_DEBUGMSG("==> AutoIt_App::WndProc, g_hWnd: WM_DESTROY\n")

				KillTimer(hWnd, AUT_MAIN_TIMER_ID);		// Remove any timers in use
				DestroyTrayIcon();						// Remove tray icon if present
				PostQuitMessage(0);						// Tell the message loop to stop
				return 0;

			// Window is getting focus
			case WM_SETFOCUS:
				SetFocus(g_hWndEdit);                         // Put focus on the main edit window
				return 0;

			// Window has been resized in some way
			case WM_SIZE:
				MoveWindow(g_hWndEdit, 0, 0, LOWORD(lParam), HIWORD(lParam), TRUE);
				return 0;

			// Popup menu accessed
			case AUT_WM_NOTIFYICON:
				NotifyIcon(hWnd, iMsg, wParam, lParam);
				return 0;

			case WM_HOTKEY:                                        // Ignore when paused
				if (!g_bScriptPaused)
				{
					 g_HotKeyQueue[g_HotKeyNext++] = wParam;     // Store the hotkey ID pressed
					 if (g_HotKeyNext >= AUT_HOTKEYQUEUESIZE)
						  g_HotKeyNext = 0;
				}

				//MessageBox(NULL, "", "Hotkey pressed", MB_OK);
				break;

			default:
				// If the icon was visible and explorer crashed then redraw
				if(iMsg == s_uTaskbarRestart && g_bTrayIcon == true)
				{
					AUT_DEBUGMSG("==> AutoIt_App::WndProc, g_hWnd: TaskbarRestart received - redrawing trayicon\n")
					DestroyTrayIcon();
					CreateTrayIcon();
				}
				break;

		} // end main switch

	}

	// If not handled, return the default
	return DefWindowProc(hWnd, iMsg, wParam, lParam);

} // WndProcHandler()