⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 main.cpp

📁 多媒体电话记录程序
💻 CPP
字号:


#include <gtk/gtk.h>
#include <locale.h>

#include "Win.h"
#include "config.h"
#include "msgqueue.h"


void manage_msg(MSG* qbuf);

CWin* pMainWin = NULL;
bool isTerminate = false;



void wg_main_quit()
{
	isTerminate = true;
}

void wg_main()
{
	int qid;
	qid = open_queue(REV_MSG_KEY_ID);
	if(qid==-1)
		g_warning("can not open message queue!");

	static bool bNeedUpdate = false;
	MSG qbuf;
	while(!isTerminate){
		while (gtk_events_pending())
			gtk_main_iteration();
			//gtk_main ();
		if(qid!=-1){
			if(read_msg(qid, CALL_INFO_ID, &qbuf) != -1){			
				bNeedUpdate = true;
			}
			else if(bNeedUpdate){				
				bNeedUpdate = false;
				manage_msg(&qbuf);	
			}
		}
	}
}

int
main (int argc, char *argv[])
{
	//char* rcfiles[] = { XPMFILEPATH "gtkrc", NULL };
	gtk_set_locale ();			
	//gtk_rc_set_default_files(rcfiles);
	gtk_init (&argc, &argv);
	gtk_rc_parse(XPMFILEPATH "gtkrc");


	pMainWin = new CWin(_("CallInfo"));				

	wg_main();	
	//gtk_main ();

	if(pMainWin)
		delete pMainWin;

	return 0;
}

void manage_msg(MSG* qbuf)
{
	//g_print("mtype=%ld \t sender=%d \nmsg=%s \n", qbuf->mtype, qbuf->sender, qbuf->msg);
	if(!pMainWin || !pMainWin->m_pNotebook) return;

	switch(qbuf->sender){

	case TEL_CAL_ID:
		
		pMainWin->m_pNotebook->ReLoadData();
		if(pMainWin->m_pNotebook->GetCurPage() == CNoteBook::detail){
			if(pMainWin->m_pNotebook->m_Detail->isCallTime()){
				pMainWin->m_Buttons[0]->SetSensitive(true);
				pMainWin->m_Buttons[1]->SetSensitive(true);
				pMainWin->m_Buttons[2]->SetSensitive(true);			
				pMainWin->m_Buttons[4]->SetSensitive(true);
			}
			if(pMainWin->m_pNotebook->GetCallType() == 4)
				pMainWin->m_Buttons[3]->SetSensitive(false);
			else
				pMainWin->m_Buttons[3]->SetSensitive(true);
			pMainWin->m_pNotebook->SetPage(CNoteBook::calllist);
		}
		
		break;
	case LAUNCHER_ID:
		
		pMainWin->m_pToolbar->SetActiveButton(1);
		pMainWin->on_toolbar_button_pressed(NULL, pMainWin);
		break;
	default:
		g_print("*****  Unkown sender : %d  *****\n", qbuf->sender);
		break;
	}
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -