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

📄 addressbook.cpp

📁 是用eclipse编写的,主要用于手机的电话簿
💻 CPP
📖 第 1 页 / 共 3 页
字号:
/******************************************************************************** Trolltech hereby grants a license to use the Qt/Eclipse Integration** plug-in (the software contained herein), in binary form, solely for the** purpose of creating code to be used with Trolltech's Qt software.**** Qt Designer is licensed under the terms of the GNU General Public** License versions 2.0 and 3.0 ("GPL License"). Trolltech offers users the** right to use certain no GPL licensed software under the terms of its GPL** Exception version 1.2 (http://trolltech.com/products/qt/gplexception).**** THIS SOFTWARE IS PROVIDED BY TROLLTECH AND ITS CONTRIBUTORS (IF ANY) "AS** IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED** TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A** PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER** OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,** EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,** PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR** PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF** LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING** NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS** SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."**** Since we now have the GPL exception I think that the "special exception** is no longer needed. The license text proposed above (other than the** special exception portion of it) is the BSD license and we have added** the BSD license as a permissible license under the exception.******************************************************************************/#include "../header/addressbook.h"#include "../header/memberdatastructure.h"#include "../header/memberdatalist.h"AddressBook::AddressBook(QWidget *parent)    : QWidget(parent){	ui.setupUi(this);		SystemInit();	}/* Group  * ListGroup * AddGroup * DetailGroup *  * First Page:  titleLabel rightButton leftButton optionCombo *  * */AddressBook::~AddressBook(){}/* The Initial status when the program start to run */void AddressBook::SystemInit(){	ui.titleLabel->setText("AddressBook v1.0");		listPageOptionComboSet();			/* Data structure process *///	MemberData mb;//		mb.setName("wzz");//		mb.setPhone("13458439991");//		mb.setHome("6098382");//		mb.setWork("plenware");//		mb.setHomeFax("123456");//		mb.setWorkFax("654321");//		mb.setEmail("pushiwuhua@126.com");//		mb.setAddress("tiafu road");//	//	mb.setGroup("thor");//		mb.setPicture("c:\\");//		mb.setRemarks("test");//		MemberData mb2;//		mb2.setName("wang");//		//		//		mb2.setPhone("2730838");//		mb2.setHome("luzhou");//		mb2.setWork("prorammer");//		mb2.setHomeFax("123456");//		mb2.setEmail("pushiwuhua@gmail.com");//		mb2.setAddress("shuanghua bridge");//	//	mb2.setGroup("diablo");//		mb2.setPicture("D:\\");//		mb2.setRemarks("test2");//		//		//		list.add(mb);//		list.add(mb2);//		list.add(mb);			curPersonName = list.value(0).getName();				ui.titleLabel->hide();//		ui.listgroup_memberListWidget->itemAt(0);		//		MemberData newValue = list.value("wang");//		newValue.setName("wang_new");//		list.changeValue("wang",newValue);//		list.initData();			/* The listpage processing */		showListPage();			//	cout<<list.memberList.name;		}/* ************************************************************************************************************** *  List Page Related components processing * * 1. showListPage()     													//make this page visible * 2. on_listgroup_classCombo_activated()   								//process the class combobox * 3. on_listgroup_memberListWidget_itemActivated()   					//process the listwidget * 4. on_listgroup_findEdit_textChanged()                            //process the find bar. * 5. listPageOptionComboSet()                                       //Set the initial items * 6. showOptionCombo()                                              //Show the optioncombo and  * 																				 //hide the right button * 7. on_optionCombo_activated() 											 //process the combo event * 8. clearAddPage()															 //clear Page ***************************************************************************************************************/void AddressBook::showListPage(){	/* 	 * This show page function should contain:	 * 1. Clear components	 * 2. TitleLabel Set	 * 3. Group hide and show	 * 4. Button, combo change and show	 	 * 5. Component initial Event process	 */		/*1. Clear components*/	ui.listgroup_findEdit->clear();	ui.listgroup_memberListWidget->clear();	ui.listgroup_classCombo->clear();		/* 2.TitleLabel Set */	ui.titleLabel->setText("List Page");                 		/* 3. Group hide and show */	ui.addGroupBox->hide();	ui.detailGroupBox->hide();	ui.classGroupBox->hide();	ui.classModifyGroupBox->hide();	ui.listGroupBox->show();		/* 4. Button, combo change and show  */	ui.leftButton->setText("Add");	showOptionCombo();		/*	5. Component initial Event */		/* memberListWidget Event */	ui.listgroup_memberListWidget->setCurrentRow(0);	for(int i=0;i<list.size();i++)	{			ui.listgroup_memberListWidget->addItem(list.value(i).getName());					}		/* listgroup_classCombo Event */		ui.listgroup_classCombo->addItem("Show All Groups");	for(int i=0;i<list.groupsNameList().size();i++)	{					ui.listgroup_classCombo->addItem(list.groupsNameList().at(i));			}	ui.listgroup_memberListWidget->sortItems(Qt::AscendingOrder);	}void AddressBook::on_listgroup_classCombo_activated(){	ui.listgroup_memberListWidget->clear();	if(ui.listgroup_classCombo->currentText()=="Show All Groups")	{		ui.listgroup_memberListWidget->addItems(list.allNameList());	}	else 	{		ui.listgroup_memberListWidget->addItems(list.groupMemberName(ui.listgroup_classCombo->currentText()));	}	ui.listgroup_memberListWidget->sortItems(Qt::AscendingOrder);}void AddressBook::on_listgroup_memberListWidget_itemActivated(){		curPersonName = ui.listgroup_memberListWidget->currentItem()->text();		showDetailPage();	 MemberData currentMD = list.value(curPersonName);	         		 ui.detailgroup_nameLabel->setText(QString(currentMD.getName()));		 int i=0;		 //ui.detailgroup_detailListWidget->addItem(QString(currentMD.getName())); 		 if(!QString(currentMD.getPhone()).isEmpty())		   ui.detailgroup_detailListWidget->insertItem(i++, new QListWidgetItem \		                                              (QIcon("image/Cell Phone.png"), "Phone: "+QString(currentMD.getPhone())));         		 if(!QString(currentMD.getHome()).isEmpty())		   ui.detailgroup_detailListWidget->insertItem(i++,new QListWidgetItem		                                               (QIcon("image/home.png"), "Home: "+QString(currentMD.getHome())));             		 if(!QString(currentMD.getWork()).isEmpty())		   ui.detailgroup_detailListWidget->insertItem(i++,new QListWidgetItem		                                              (QIcon("image/phone.png"), "Work: "+QString(currentMD.getWork())));		         		 if(!QString(currentMD.getHomeFax()).isEmpty())		   ui.detailgroup_detailListWidget->insertItem(i++,new QListWidgetItem		                                              (QIcon("image/fax.png"), "HomeFax: "+QString(currentMD.getHomeFax())));		 if(!QString(currentMD.getWorkFax()).isEmpty())		    ui.detailgroup_detailListWidget->insertItem(i++,new QListWidgetItem		                                               (QIcon("image/workfax.png"), "WorkFax: "+QString(currentMD.getWorkFax())));		 if(!QString(currentMD.getEmail()).isEmpty())	      ui.detailgroup_detailListWidget->insertItem(i++,new QListWidgetItem		                                               (QIcon("image/email.png"), "Email: "+QString(currentMD.getEmail())));	   if(!QString(currentMD.getAddress()).isEmpty())		{		 ui.detailgroup_detailListWidget->insertItem(i++, new QListWidgetItem		                                            (QIcon("image/home_II.png"), "Address: \n"+QString(currentMD.getAddress())));		 //ui.detailgroup_detailListWidget->addItem();		// i++;		}	   if(!QString(currentMD.getGroup()).isEmpty())		 ui.detailgroup_detailListWidget->insertItem(i++,new QListWidgetItem		                                     			(QIcon("image/Workgroup.png"), "Group: "+QString(currentMD.getGroup())));	   if(!QString(currentMD.getRemarks()).isEmpty())	   {	   	ui.detailgroup_detailListWidget->insertItem(i++, new QListWidgetItem		                                     (QIcon("image/remark.png"), "Remarks: \n"+QString(currentMD.getRemarks())));   		   }//	ui.detailgroup_detailListWidget->addItem()		}void AddressBook::on_listgroup_memberListWidget_itemSelectionChanged(){	curPersonName = ui.listgroup_memberListWidget->currentItem()->text();}void AddressBook::on_listgroup_findEdit_textChanged(){	ui.listgroup_memberListWidget->clear();		ui.listgroup_memberListWidget->addItems(list.quickFind(ui.listgroup_findEdit->text()));	ui.listgroup_memberListWidget->sortItems(Qt::AscendingOrder);}/* Option Combo Related Function */void AddressBook::listPageOptionComboSet(){	ui.optionCombo->clear();	ui.optionCombo->addItem("View");		ui.optionCombo->addItem("Delete");	ui.optionCombo->addItem("Add");	//ui.optionCombo->addItem("Find");	ui.optionCombo->addItem("Add Class");	ui.optionCombo->addItem("Edit Class");	ui.optionCombo->addItem("Delete Class");	ui.optionCombo->addItem("Quit");}void AddressBook::showOptionCombo(){	ui.optionCombo->show();	ui.rightButton->hide();	}void AddressBook::on_optionCombo_activated(){	if(ui.optionCombo->currentText()=="View")	{		if(!curPersonName.isEmpty())		{						 showDetailPage();						}	}//	else if(ui.optionCombo->currentText()=="Edit")//	{//		showEditPage();	//		//ui.addgroup_nameEdit->setText("111111");//		MemberData curPer = list.value(curPersonName);//		ui.addgroup_nameEdit->setText(curPer.getName());//		ui.addgroup_cellEdit->setText(curPer.getPhone());//		ui.addgroup_homeEdit->setText(curPer.getHome());//		ui.addgroup_workEdit->setText(curPer.getWork());//		ui.addgroup_homefaxEdit->setText(curPer.getHomeFax());//		ui.addgroup_workfaxEdit->setText(curPer.getWorkFax());//		ui.addgroup_emailEdit->setText(curPer.getEmail());//		ui.addgroup_addressEdit->setPlainText(curPer.getAddress());//		ui.addgroup_groupCombo->addItems(list.groupsNameList());//		ui.addgroup_remarkEdit->setPlainText(curPer.getRemarks());//		//	}	else if(ui.optionCombo->currentText()=="Delete")	{		//showDetailPage();		if(list.size()>0)		{			if(!curPersonName.isEmpty())									list.remove(curPersonName);						curPersonName = "";			showListPage();		}		/*  */			}else if(ui.optionCombo->currentText()=="Add")	{		showAddPage();	}	//	else if(ui.optionCombo->currentText()=="Find")//	{		//		//	}	else if(ui.optionCombo->currentText()=="Add Class")	{				showClassPage();	}	else if(ui.optionCombo->currentText()=="Edit Class")	{		showClassModifyPage();		ui.classmodifypage_classnameEdit->show();		ui.leftButton->setText("Modify");		ui.rightButton->setText("Cancel");					}	else if(ui.optionCombo->currentText()=="Delete Class")	{		showClassModifyPage();		ui.classmodifypage_classnameEdit->hide();		

⌨️ 快捷键说明

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