示例#1
0
void page0::changePage()
{
    if (first_time == true)
    {
        ui->label->update();
        /* if fcrts is not running or if it is in Zombie status, start it */
        if (system("PID=`pidof fcrts` && test $PID != '' && test \"`grep -c zombie /proc/$PID/status`\" -eq 0"))
        {
            LOG_PRINT(info_e, "Cannot find the run-time active process. Start it [%s].\n", RUNTIME);
            QProcess *myProcess = new QProcess();
            myProcess->start(RUNTIME);
        }

        if(CommStart() == false)
        {
            LOG_PRINT(error_e, "cannot find start the communication with the the run-time.\n");
            exit(0);
        }
        first_time = false;
    
        /* pre-load */
        page * p;
        ui->progressBar->setValue(1);
        for (int pageIndex = 0; pageIndex < userPageList.count(); pageIndex++)
        {
            create_next_page(&p, userPageList.at(pageIndex).toAscii().data());
            if (p != NULL)
            {
                LOG_PRINT(verbose_e,"created page '%s'\n", userPageList.at(pageIndex).toAscii().data());
                ScreenHash.insert(userPageList.at(pageIndex).toAscii().data(), p);
            }
            else
            {
                LOG_PRINT(error_e,"Cannot create page '%s'\n", userPageList.at(pageIndex).toAscii().data());
            }
            ui->progressBar->setValue(pageIndex + 1);
        }
        hideAll();
    }

    /* Check the date. if it is unset 01 Jan 1970 start with time_set page */
    time_t rt = 0;
    struct tm *pt = NULL;
    rt = time(NULL);
    pt = localtime(&rt);
    if (pt != NULL && pt->tm_year == 70 && pt->tm_mon == 0 && pt->tm_mday == 1)
    {
        if (goto_page("time_set", false) == false && goto_page(STARTPAGE_DEF, false) == false && goto_page(HomePage, false) == false && goto_page(HOMEPAGE_DEF, false) == false )
        {
            QMessageBox::critical(0,QApplication::trUtf8("Invalid Page"), QApplication::trUtf8("Cannot show any of Default pages '%1', '%2' and home pages '%3'. '%4'").arg("time_set").arg(STARTPAGE_DEF).arg(HomePage).arg(HOMEPAGE_DEF));
        }
    }

    /* go to the home page */
    else if (goto_page(StartPage, false) == false && goto_page(STARTPAGE_DEF, false) == false && goto_page(HomePage, false) == false && goto_page(HOMEPAGE_DEF, false) == false )
    {
        QMessageBox::critical(0,QApplication::trUtf8("Invalid Page"), QApplication::trUtf8("Cannot show any of Default pages '%1', '%2' and home pages '%3'. '%4'").arg(StartPage).arg(STARTPAGE_DEF).arg(HomePage).arg(HOMEPAGE_DEF));
    }
    this->hide();
}
示例#2
0
void moth_gui::handle_goto_page()
{
	std::string nr;
	std::string info("\"Go To Page Number:\"");
	moth_dialog dialog;
	moth_dialog_response resp = dialog.input(info, nr);
	if (resp == MOTH_DIALOG_OK) {
		stop_show_search_res();
		rm_newline(nr);
		if (nr.compare("last") == 0)
			goto_page(book->get_pages() - 1);
		else
			goto_page(atoi(nr.c_str()));
	}
}
示例#3
0
static void
next_button_clicked (GtkWidget         *button,
		     SoliPrintPreview *preview)
{
	GdkEvent *event;
	gint page;
	gint n_pages = get_n_pages (preview);

	event = gtk_get_current_event ();

	if (event->button.state & GDK_SHIFT_MASK)
	{
		page = n_pages - 1;
	}
	else
	{
		page = preview->cur_page + preview->n_columns;
	}

	goto_page (preview, MIN (page, n_pages - 1));

	gtk_widget_grab_focus (GTK_WIDGET (preview->layout));

	gdk_event_free (event);
}
示例#4
0
void moth_gui::handle_find_prev()
{
	std::string info;
	moth_dialog dialog;
	if (!search_string.empty()) {
		char found = 0;
		int i = search_results.data()->page - 1;
		search_results.clear();
		for(; i >= 0; i--)
		{
			book->search(search_string, i, search_results);
			if (!search_results.empty()) {
				found = 1;
				start_show_search_res();
				goto_page(i+1);
				break;
			}
		}
		if (!found) {
			info = "\"Text not found.\"";
			dialog.info(info);
			stop_show_search_res();
		}
	}
}
示例#5
0
void moth_gui::handle_find()
{
	std::string info("\"Find:\"");
	moth_dialog dialog;
	search_string.clear();
	moth_dialog_response resp = dialog.input(info, search_string);
	if (resp == MOTH_DIALOG_OK) {
		unsigned int i;
		char found = 0;
		rm_newline(search_string);
		if (search_string.empty())
			return;
		search_results.clear();
		for(i = book->get_page(); i < book->get_pages(); i++)
		{
			book->search(search_string, i, search_results);
			if (!search_results.empty()) {
				found = 1;
				start_show_search_res();
				if (i == 0)
					i = 1;
				goto_page(i);
				break;
			}
		}
		if (!found) {
			info = "\"Text not found.\"";
			dialog.info(info);
			stop_show_search_res();
		}
	}
}
示例#6
0
文件: setupc.c 项目: 131/gsview
void
prev_page(HWND hwnd)
{
WIZPAGE *page;
    for (page=pages; page->id; page++) {
	if (page->hwnd == hwnd) {
	    goto_page(hwnd, page->prev);
	}
    }
}
示例#7
0
文件: setupc.c 项目: 131/gsview
void
next_page(HWND hwnd)
{
WIZPAGE *page;
int id;
    for (page=pages; page->id; page++) {
	if (page->hwnd == hwnd) {
	    if (page->func) {
		/* need to execute a function before continuing */
		if ( (id = page->func(hwnd)) != 0) {
		    goto_page(hwnd, id);
		    return;
		}
	    }
	    goto_page(hwnd, page->next);
	    return;
	}
    }
}
示例#8
0
文件: dialogs.cpp 项目: avm/locopdf
//hpan entrybox
void goto_page_entryhandler(Evas *e, Evas_Object *obj,char *value)
{
    if(value)
    {
        int numval=(int)strtol(value,NULL,10);
        if(numval>0 && numval<=get_num_pages())
        {
            goto_page(numval-1);
        }
        free(value);
    }
}
示例#9
0
static void
page_entry_activated (GtkEntry          *entry,
		      SoliPrintPreview *preview)
{
	const gchar *text;
	gint page;
	gint n_pages = get_n_pages (preview);

	text = gtk_entry_get_text (entry);

	page = CLAMP (atoi (text), 1, n_pages) - 1;
	goto_page (preview, page);

	gtk_widget_grab_focus (GTK_WIDGET (preview->layout));
}
示例#10
0
static void
preview_ready (GtkPrintOperationPreview *gtk_preview,
	       GtkPrintContext          *context,
	       SoliPrintPreview        *preview)
{
	init_last_page_label (preview);
	goto_page (preview, 0);

	set_zoom_factor (preview, 1.0);

	/* let the default gtklayout handler clear the background */
	g_signal_connect_after (preview->layout,
				"draw",
				G_CALLBACK (preview_draw),
				preview);

	gtk_widget_queue_draw (GTK_WIDGET (preview->layout));
}
示例#11
0
void recipe_select::on_listWidget_itemClicked(QListWidgetItem *item)
{
        /* if it is a directory it is a receipe family, so enter and display the items */
        if (QFileInfo(QString("%1/%2").arg(_recipe_dir_to_browse).arg(item->text())).isDir())
        {
            strcpy(_recipe_dir_to_browse, QString("%1/%2").arg(_recipe_dir_to_browse).arg(item->text()).toAscii().data());
            reload();
        }
        /* if it is a file, it is already a receipe, so and display it */
        else
        {
            ui->labelLoading->setText(trUtf8("Loading..."));
            ui->labelLoading->setStyleSheet("color: rgb(255,0,0);");
            ui->labelLoading->repaint();
            sprintf(_actual_recipe_, "%s/%s", _recipe_dir_to_browse, item->text().toAscii().data());
            strcpy(_recipe_dir_to_browse, RECIPE_DIR);
            goto_page("recipe");
        }
}
示例#12
0
文件: dialogs.cpp 项目: avm/locopdf
void toc_choicehandler(Evas *e, Evas_Object *parent,int choice, bool lp)
{
    Ecore_List *list=(Ecore_List *)choicebox_get_userdata(e,parent);
    Epdf_Index_Item *curitem=(Epdf_Index_Item *)ecore_list_index_goto(list,choice);
    Ecore_List *childlist=epdf_index_item_children_get (curitem);
    if(!childlist)
    {
        Evas_Object *curcb=parent;
        Evas_Object *nextcb;
        while((nextcb=choicebox_get_parent(e,curcb)))
        {
            fini_choicebox(e,curcb,false);   
            curcb=nextcb;
        }
        evas_object_focus_set(curcb,1);
        goto_page(epdf_index_item_page_get(get_document(),curitem));
    }
    else
    {
        TOCDialog(e,parent,childlist);    
        
    }
}
示例#13
0
static void
prev_button_clicked (GtkWidget         *button,
		     GeditPrintPreview *preview)
{
	GdkEvent *event;
	gint page;

	event = gtk_get_current_event ();

	if (event->button.state & GDK_SHIFT_MASK)
	{
		page = 0;
	}
	else
	{
		page = preview->cur_page - preview->n_columns;
	}

	goto_page (preview, MAX (page, 0));

	gtk_widget_grab_focus (GTK_WIDGET (preview->layout));

	gdk_event_free (event);
}
示例#14
0
static gint
preview_layout_key_press (GtkWidget         *widget,
			  GdkEventKey       *event,
			  SoliPrintPreview *preview)
{
	GtkAdjustment *hadj, *vadj;
	gdouble x, y;
	gdouble hlower, vlower;
	gdouble hupper, vupper;
	gdouble visible_width, visible_height;
	gdouble hstep, vstep;
	gint n_pages;
	gboolean do_move = FALSE;

	get_adjustments (preview, &hadj, &vadj);

	x = gtk_adjustment_get_value (hadj);
	y = gtk_adjustment_get_value (vadj);

	hlower = gtk_adjustment_get_lower (hadj);
	vlower = gtk_adjustment_get_lower (vadj);

	hupper = gtk_adjustment_get_upper (hadj);
	vupper = gtk_adjustment_get_upper (vadj);

	visible_width = gtk_adjustment_get_page_size (hadj);
	visible_height = gtk_adjustment_get_page_size (vadj);

	hstep = 10;
	vstep = 10;

	n_pages = get_n_pages (preview);

	switch (event->keyval)
	{
		case '1':
			set_zoom_fit_to_size (preview);
			break;

		case '+':
		case '=':
		case GDK_KEY_KP_Add:
			zoom_in (preview);
			break;

		case '-':
		case '_':
		case GDK_KEY_KP_Subtract:
			zoom_out (preview);
			break;

		case GDK_KEY_KP_Right:
		case GDK_KEY_Right:
			if (event->state & GDK_SHIFT_MASK)
				x = hupper - visible_width;
			else
				x = MIN (hupper - visible_width, x + hstep);
			do_move = TRUE;
			break;

		case GDK_KEY_KP_Left:
		case GDK_KEY_Left:
			if (event->state & GDK_SHIFT_MASK)
				x = hlower;
			else
				x = MAX (hlower, x - hstep);
			do_move = TRUE;
			break;

		case GDK_KEY_KP_Up:
		case GDK_KEY_Up:
			if (event->state & GDK_SHIFT_MASK)
				goto page_up;

			y = MAX (vlower, y - vstep);
			do_move = TRUE;
			break;

		case GDK_KEY_KP_Down:
		case GDK_KEY_Down:
			if (event->state & GDK_SHIFT_MASK)
				goto page_down;

			y = MIN (vupper - visible_height, y + vstep);
			do_move = TRUE;
			break;

		case GDK_KEY_KP_Page_Up:
		case GDK_KEY_Page_Up:
		case GDK_KEY_Delete:
		case GDK_KEY_KP_Delete:
		case GDK_KEY_BackSpace:
		page_up:
			if (y <= vlower)
			{
				if (preview->cur_page > 0)
				{
					goto_page (preview, preview->cur_page - 1);
					y = (vupper - visible_height);
				}
			}
			else
			{
				y = vlower;
			}
			do_move = TRUE;
			break;

		case GDK_KEY_KP_Page_Down:
		case GDK_KEY_Page_Down:
		case ' ':
		page_down:
			if (y >= (vupper - visible_height))
			{
				if (preview->cur_page < n_pages - 1)
				{
					goto_page (preview, preview->cur_page + 1);
					y = vlower;
				}
			}
			else
			{
				y = (vupper - visible_height);
			}
			do_move = TRUE;
			break;

		case GDK_KEY_KP_Home:
		case GDK_KEY_Home:
			goto_page (preview, 0);
			y = vlower;
			do_move = TRUE;
			break;

		case GDK_KEY_KP_End:
		case GDK_KEY_End:
			goto_page (preview, n_pages - 1);
			y = vlower;
			do_move = TRUE;
			break;

		case GDK_KEY_Escape:
			gtk_widget_destroy (GTK_WIDGET (preview));
			break;

		case 'p':
			if (event->state & GDK_MOD1_MASK)
			{
				gtk_widget_grab_focus (GTK_WIDGET (preview->page_entry));
			}
			break;

		default:
			return GDK_EVENT_PROPAGATE;
	}

	if (do_move)
	{
		gtk_adjustment_set_value (hadj, x);
		gtk_adjustment_set_value (vadj, y);
	}

	return GDK_EVENT_STOP;
}
示例#15
0
void page01::on_atcmTime_clicked()
{
    goto_page("time_set");
}
示例#16
0
void display_settings::on_pushButtonTEST_clicked()
{
    goto_page("display_test");
}
示例#17
0
void page01::on_atcmDate_clicked()
{
        goto_page("display_settings");
}