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

📄 .#progect.c.1.58

📁 个人日程管理系统
💻 58
📖 第 1 页 / 共 5 页
字号:
				gNoDate, 0);			// record completion date (always for ToDo linked tasks)			if (TaskGetIsDone(gdbP, gActualTask))				TaskSetToDoStatus(gdbP, gActualTask, toDoDueDate,					0, 0,					gToday, 0);		}	}	else if (!TaskGetHasChild(gdbP, gActualTask) && 		(format.itemType == progressType))	{		Int16 TInt16;		ListPtr listP = GetObjectPtr(Lst_Percent);		LstSetSelection(listP, 			TaskGetCompleted(gdbP, gActualTask));		TInt16 = LstPopupList(listP);		if (TInt16 != -1)		{			TaskSetCompleted(gdbP, gActualTask, TInt16, true);		}	}	else		return;	// record completion date	if (TaskGetIsDone(gdbP, gActualTask) && gProjectPrefs.completionDate)		TaskSetDueDate(gdbP, gActualTask, gToday);	// update fathers	if (TaskGetLevel(gdbP, gActualTask) > 1)	{		TaskCalcCompleted(gdbP, 			TaskGetFatherIndex(gdbP, gActualTask));	}	FrmUpdateForm(FrmGetActiveFormID(), frmRedrawUpdateCode);}/**************************************************************************** * Name : PriorityHandleEvent * Desc : update the priority of the actualtask * Parm : * Out  :  * Auth : burgbach, 19.10.2000 ***************************************************************************/void PriorityHandleEvent(EventPtr e){	Coord lx, ly;	// edit it in place	Int16 TInt16;	ListPtr listP = GetObjectPtr(Lst_Priority);	TaskFormatType format;	format = TaskGetFormat(gdbP, gActualTask);	if (format.itemType == linkType)	{		return;	}	// init lx and ly depending on the active form	if (FrmGetActiveFormID() == FrmFlat)	{		lx = 25;		ly = 15 + e->data.tblSelect.row * 11;	}	else	{		lx = 4 + (1 + TaskGetLevel(gdbP, gActualTask) - 			gRefLevel) * 11;		if (TaskGetType(gdbP, gActualTask) == informativeType)			lx -= 11;		ly = 15 + e->data.tblSelect.row * 11;	}	LstSetSelection(listP, 		TaskGetPriority(gdbP, gActualTask) - 1);	ly -= (TaskGetPriority(gdbP, gActualTask) - 1) * 11;	// don't get out the screen	ly = ly < 1 ? 1 : ly;	ly = ly > 103 ? 103 : ly;	LstSetPosition(listP, lx, ly);	TInt16 = LstPopupList(listP);	if (TInt16 != -1)	{		TaskSetPriority(gdbP, gActualTask, TInt16 + 1);		FrmUpdateForm(FrmGetActiveFormID(), frmRedrawUpdateCode);	}	if (TaskGetFormat(gdbP, gActualTask).hasToDo)	{		TaskSetToDoStatus(gdbP, gActualTask, toDoPriority,			0, TaskGetPriority(gdbP, gActualTask),			gNoDate, 0);	}} // void PriorityHandleEvent(EventPtr e)/**************************************************************************** * Name : SelectRange * Desc : popup a user form to ask for subview or all * Parm : * Out  : Btn_Sub_All or Btn_Sub_Sub or Btn_Sub_Cancel * Auth : burgbach, 21.10.2000 ***************************************************************************/UInt16 SelectRange(void){	UInt16 temp = Btn_Sub_All;	if (gParentTask) // if actual subview is not the total view	{		FormPtr frmSub = FrmInitForm(FrmSubOrAll);		temp = FrmDoDialog(frmSub);		FrmDeleteForm(frmSub);	}	return temp;} // UInt16 SelectRange(void)/**************************************************************************** * Name : FrmMainMenuHandleEvent * Desc : Main Menu event handler * Parm :   -> Event to handle * Out  :   <- true if event was handled * Auth : burgbach, ??.??.2000 * Mod  : hcc, 28.04.2001 *          Add Collapse Father command * Mod	: lb, 2001-09-06 * 		  	adapt to 0.23 db format ***************************************************************************/Boolean FrmMainMenuHandleEvent(EventPtr e){	FormPtr frm;	frm = FrmGetActiveForm();	switch(e->data.menu.itemID) {		case MenuMainNewTask:			MessageBox(StrNewTask);			break;		case MenuMainTop:			gActualTask = gParentTask + 1;			SelectActualTask(true);			FrmUpdateForm(FrmMain, frmRedrawUpdateCode);			break;		case MenuMainBottom:			if (gRefLevel == 0)				gActualTask = PgNumRecords(gdbP) - 1;			else			{				gActualTask = GetLastInSub(gParentTask);			}			SelectActualTask(true);			FrmUpdateForm(FrmMain, frmRedrawUpdateCode);			break;		case MenuMainRepair:			TaskRepairTree(gdbP, 0, 0);			FrmUpdateForm(FrmMain, frmRedrawUpdateCode);			break;		case MenuMainReInit:			switch (SelectRange())			{				case Btn_Sub_All:					if (ConfirmCustom(StrActionDelete, StrAllTasks) == 0)					{						while (PgNumRecords(gdbP) > 1)						{							TaskRemove(gdbP, 1);						}						gParentTask = gRefLevel = 0;						// erase the up button						CtlHideControl(GetObjectPtr(Btn_Sub_Up));						FrmUpdateForm(FrmMain, frmRedrawUpdateCode);					}					break;				case Btn_Sub_Sub:					if (ConfirmCustom(StrActionDelete, 						StrAllDoneTasksInThisView) == 0)					{						TaskRemoveChildren(gdbP, gParentTask);						FrmUpdateForm(FrmMain, frmRedrawUpdateCode);					}					break;				default:					break;			}			break;		case MenuMainSyncToDo:				TaskSyncAll();				FrmUpdateForm(FrmMain, frmRedrawUpdateCode);			break;		case MenuMainResetDates:			FrmPopupForm(FrmSetReset);			break;		case MenuMainDeleteChildren:			if (gActualTask && TaskGetHasChild(gdbP, gActualTask))			{				if (ConfirmCustom(StrActionDelete, 					StrAllChildrenOfSelectedTask) == 0)				{					TaskRemoveChildren(gdbP, gActualTask);					FrmUpdateForm(FrmMain, frmRedrawUpdateCode);				}			}			break;		case MenuMainDeleteTask:			if (gActualTask)			{				if (TaskGetHasChild(gdbP, gActualTask))				{					if (ConfirmCustom(StrActionDelete, StrTaskAndChildren) == 0)					{						// remember the father						UInt16 father = 							TaskGetFatherIndex(gdbP, gActualTask);						// remove the task						TaskRemove(gdbP, gActualTask);						// if father isn't a father anymore						if (father != 0 && !TaskGetHasChild(gdbP, father))						{							// set its precentage to 0%							ItemType type = TaskGetType(gdbP, father);							if (type == progressType)							{								// was a progress, stay a progress								TaskSetCompleted(gdbP, father, 0, true);							}							else if (type == actionType)							{								// was an ACTION								TaskSetCompleted(gdbP, father, ACTION_NOT_DONE,									true);							}							// don't touch other types							//							// find his father							father = TaskGetFatherIndex(gdbP, father);						}						// if it exists, calc its percentage						if (father != 0)						{							TaskCalcCompleted(gdbP, father);						}						FrmUpdateForm(FrmMain, frmRedrawUpdateCode);					}				}				else				{					Boolean deleteOK = true;					if (gSavedPrefs.deleteWarn)					{						// get the description for the warning						char* desc = TaskGetDescription(gdbP, gActualTask);						if (FrmCustomAlert(AltConfirmDelete, desc, " ", " ") != 0)							deleteOK = false;						MemPtrFree(desc);					}					if (deleteOK)					{						// remember the father						UInt16 father = 							TaskGetFatherIndex(gdbP, gActualTask);						// remove the task						TaskRemove(gdbP, gActualTask);						// if father isn't a father anymore						if (father != 0 && !TaskGetHasChild(gdbP, father))						{							// set its precentage to 0%							ItemType type = TaskGetType(gdbP, father);							if (type == progressType)							{								// was a progress, stay a progress								TaskSetCompleted(gdbP, father, 0, true);							}							else if (type == actionType)							{								// was an ACTION								TaskSetCompleted(gdbP, father, ACTION_NOT_DONE,									true);							}							// don't touch other types							//							// find his father							father = TaskGetFatherIndex(gdbP, father);						}						// if it exists, calc its percentage						if (father != 0)						{							TaskCalcCompleted(gdbP, father);						}						FrmUpdateForm(FrmMain, frmRedrawUpdateCode);					}				}			}			break;		case MenuMainDeleteDoneTask:			switch (SelectRange())			{				case Btn_Sub_All:					if (ConfirmCustom(StrActionDelete, StrAllDoneTasks) == 0)					{						// to be sure the percentages are correct						TaskCalcCompletedAll(gdbP);						TaskRemoveDone(gdbP);						TaskCalcCompletedAll(gdbP);						FrmUpdateForm(FrmMain, frmRedrawUpdateCode);					}					break;				case Btn_Sub_Sub:					if (ConfirmCustom(StrActionDelete, 						StrAllDoneTasksInThisView) == 0)					{						// to be sure the percentages are correct						TaskCalcCompletedAll(gdbP);						TaskRemoveDoneChildren(gdbP, gParentTask);						TaskCalcCompletedAll(gdbP);						FrmUpdateForm(FrmMain, frmRedrawUpdateCode);					}					break;				default:					break;			}			break;		case MenuMainExpandAll:			TaskExpand(gdbP, 0);			FrmUpdateForm(FrmMain, frmRedrawUpdateCode);			break;		case MenuMainCollapseAll:			TaskCollapse(gdbP, 0);			Scroll(scrollTop, 0);			FrmUpdateForm(FrmMain, frmRedrawUpdateCode);			break;		case MenuMainExpandOne:			TaskExpand(gdbP, gActualTask);			FrmUpdateForm(FrmMain, frmRedrawUpdateCode);			break;		case MenuMainCollapseOne:			TaskCollapse(gdbP, gActualTask);			FrmUpdateForm(FrmMain, frmRedrawUpdateCode);			break;		case MenuMainCollapseFather:		{			UInt16 fatherIndex = TaskGetFatherIndex(gdbP, gActualTask);			if(fatherIndex != 0)			{				TaskCollapse(gdbP, fatherIndex);				gActualTask = fatherIndex;				SelectActualTask(true);				FrmUpdateForm(FrmMain, frmRedrawUpdateCode);			}			break;		}		case MenuMainPreferences:			FrmPopupForm(FrmProjectProperties);			break;		case MenuMainDisplayPreferences:			FrmPopupForm(FrmDisplayProperties);			break;		case MenuMainFlatFilter:			FrmPopupForm(FrmFlatFilter);			break;		case MenuMainClose:			FrmGotoForm(FrmProjectList);			CloseDB(gdbP);			gActualTask = gLastSelected = 0;			break;		case MenuMainViewSub:			break;		case MenuMainViewAll:			gParentTask = 0;			gRefLevel = 0;			// erase the up button			CtlHideControl(GetObjectPtr(Btn_Sub_Up));			SetFormTitle(frm, gCurrentPrefs.openDBName);			FrmUpdateForm(FrmMain, frmRedrawUpdateCode);			break;		case MenuEditCut:			if (gActualTask)			{				TaskToClipboard(gdbP, gActualTask, true);				TaskRemove(gdbP, gActualTask);				FrmUpdateForm(FrmMain, frmRedrawUpdateCode);			}			break;		case MenuEditCopy:			if (gActualTask)			{				TaskToClipboard(gdbP, gActualTask, true);			}			break;		case MenuEditCopyChildren:			if (gActualTask && TaskGetHasChild(gdbP, gActualTask))			{				TaskToClipboard(gdbP, gActualTask, false);			}			break;		case MenuEditPaste:			if (gActualTask || PgNumRecords(gdbP) == 1 ||				!TaskGetHasChild(gdbP, gParentTask))			{				if (!gActualTask)				{					gActualTask = TaskFromClipboard(gdbP, gParentTask, true);				}				else				{					gActualTask = TaskFromClipboard(gdbP, gActualTask, false);				}				SelectActualTask(true);				FrmUpdateForm(FrmMain, frmRedrawUpdateCode);			}			break;		case MenuEditPasteAsChildren:			if (gActualTask)			{				gActualTask = TaskFromClipboard(gdbP, gActualTask, true);			}			SelectActualTask(true);			FrmUpdateForm(FrmMain, frmRedrawUpdateCode);			break;		case MenuEditAddNote:			if (gActualTask)			{				FrmPopupForm(FrmNoteEdit);			}			break;		case MenuNewLink:			if (gActualTask)			{				FrmPopupForm(FrmDirectLink);			}			else			{				MessageBox(StrSelectTask);			}			break;		case MenuMainTaskDefaults:			FrmPopupForm(FrmTaskDefaults);			break;		case MenuProjectListAbout:			FrmCustomAlert(ProgectAbout, VERSION, " ", " ");			break;		case MenuMainMemoExport:			FrmPopupForm(FrmMemoExportProperties);			break;		case MenuPublishLinkMaster:			if (gActualTask > 0)				PublishToLinkMaster(gdbP, gActualTask);			break;		case MenuLinkViaLinkMaster:			if (gActualTask > 0)				RequestLinkViaLinkMaster(gCurrentPrefs.openDBName, gActualTask);			break;		case MenuRemoveLinkViaLinkMaster:			if (gActualTask > 0)			{				RemoveLinkViaLinkMaster(gActualTask);				FrmUpdateForm(FrmMain, frmRedrawUpdateCode);			}			break;	}	return true;} // Boolean FrmMainMenuHandleEvent(EventPtr e)Boolean FrmMainCtlSelectHandleEvent(EventPtr e){	FormPtr frm;		frm = FrmGetActiveForm();	switch(e->data.ctlSelect.controlID) {		case Btn_Left:			if (gActualTask)			{				TaskToLeft(gdbP, gActualTask);				// TODO verify how to bypass this one				ProjectTableUpdate();				SelectActualTask(true);			}			break;		case Btn_Right:			if (gActualTask)			{				TaskToRight(gdbP, gActualTask);				SelectActualTask(true);			}			break;		case Btn_Up:			if (gActualTask)	

⌨️ 快捷键说明

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