Re-enabled printing
Added numbers to terminal windows Some usability tweaks to the preferences window Removed the do-nothing Find menu items Other minor UI tweaks git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12587 a95241bf-73f2-0310-859d-f6bbb57e9c96
This commit is contained in:
@@ -118,11 +118,11 @@ PrefDlg::SetupContent()
|
|||||||
// OK, Apply and Cancel button.
|
// OK, Apply and Cancel button.
|
||||||
//
|
//
|
||||||
|
|
||||||
fSaveAsFileButton = new BButton(BRect(50,215,150,20), "okbutton", "Save", new BMessage(MSG_SAVEAS_PRESSED), B_FOLLOW_TOP, B_WILL_DRAW);
|
fSaveAsFileButton = new BButton(BRect(50,215,150,20), "savebutton", "Save to File", new BMessage(MSG_SAVEAS_PRESSED), B_FOLLOW_TOP, B_WILL_DRAW);
|
||||||
top->AddChild(fSaveAsFileButton);
|
top->AddChild(fSaveAsFileButton);
|
||||||
fRevertButton = new BButton(BRect(180,215,250,20), "applybutton", "Cancel", new BMessage(MSG_REVERT_PRESSED), B_FOLLOW_TOP, B_WILL_DRAW);
|
fRevertButton = new BButton(BRect(180,215,250,20), "revertbutton", "Cancel", new BMessage(MSG_REVERT_PRESSED), B_FOLLOW_TOP, B_WILL_DRAW);
|
||||||
top->AddChild(fRevertButton);
|
top->AddChild(fRevertButton);
|
||||||
fSaveButton = new BButton(BRect(260,215,330,20), "cancelbutton", "OK", new BMessage(MSG_SAVE_PRESSED), B_FOLLOW_TOP, B_WILL_DRAW);
|
fSaveButton = new BButton(BRect(260,215,330,20), "okbutton", "OK", new BMessage(MSG_SAVE_PRESSED), B_FOLLOW_TOP, B_WILL_DRAW);
|
||||||
top->AddChild(fSaveButton);
|
top->AddChild(fSaveButton);
|
||||||
|
|
||||||
|
|
||||||
@@ -154,12 +154,14 @@ PrefDlg::QuitRequested ()
|
|||||||
|
|
||||||
BAlert *alert = new BAlert("",
|
BAlert *alert = new BAlert("",
|
||||||
"Save changes to this preference panel?",
|
"Save changes to this preference panel?",
|
||||||
"Cancel", "Don't save",
|
"Cancel", "Don't Save",
|
||||||
"Save",
|
"Save",
|
||||||
B_WIDTH_AS_USUAL,
|
B_WIDTH_AS_USUAL,
|
||||||
B_OFFSET_SPACING,
|
B_OFFSET_SPACING,
|
||||||
B_WARNING_ALERT);
|
B_WARNING_ALERT);
|
||||||
alert->SetShortcut(0, B_ESCAPE);
|
alert->SetShortcut(0, B_ESCAPE);
|
||||||
|
alert->SetShortcut(1, 'd');
|
||||||
|
alert->SetShortcut(2, 's');
|
||||||
int32 button_index = alert->Go();
|
int32 button_index = alert->Go();
|
||||||
|
|
||||||
switch (button_index) {
|
switch (button_index) {
|
||||||
@@ -271,7 +273,7 @@ PrefDlg::MessageReceived(BMessage *msg)
|
|||||||
switch (msg->what) {
|
switch (msg->what) {
|
||||||
case MSG_SAVE_PRESSED:
|
case MSG_SAVE_PRESSED:
|
||||||
doSave();
|
doSave();
|
||||||
Quit();
|
PostMessage(B_QUIT_REQUESTED);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case MSG_SAVEAS_PRESSED:
|
case MSG_SAVEAS_PRESSED:
|
||||||
@@ -280,6 +282,7 @@ PrefDlg::MessageReceived(BMessage *msg)
|
|||||||
|
|
||||||
case MSG_REVERT_PRESSED:
|
case MSG_REVERT_PRESSED:
|
||||||
doRevert();
|
doRevert();
|
||||||
|
PostMessage(B_QUIT_REQUESTED);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case MSG_PREF_MODIFIED:
|
case MSG_PREF_MODIFIED:
|
||||||
|
|||||||
@@ -77,10 +77,10 @@ TermApp::TermApp (void)
|
|||||||
BList teams;
|
BList teams;
|
||||||
|
|
||||||
be_roster->GetAppList(TERM_SIGNATURE, &teams);
|
be_roster->GetAppList(TERM_SIGNATURE, &teams);
|
||||||
int window_num = teams.CountItems();
|
fWindowNumber = teams.CountItems();
|
||||||
|
|
||||||
int i = window_num / 16;
|
int i = fWindowNumber / 16;
|
||||||
int j = window_num % 16;
|
int j = fWindowNumber % 16;
|
||||||
|
|
||||||
int k = (j * 16) + (i * 64) + 50;
|
int k = (j * 16) + (i * 64) + 50;
|
||||||
int l = (j * 16) + 50;
|
int l = (j * 16) + 50;
|
||||||
@@ -406,7 +406,7 @@ TermApp::MakeTermWindow (BRect &frame)
|
|||||||
|
|
||||||
/* Create Window Object. */
|
/* Create Window Object. */
|
||||||
|
|
||||||
fTermWindow = new TermWindow (frame);
|
fTermWindow = new TermWindow (frame, fWindowNumber);
|
||||||
|
|
||||||
fTermWindow->Show ();
|
fTermWindow->Show ();
|
||||||
|
|
||||||
@@ -448,7 +448,7 @@ TermApp::SwitchTerm()
|
|||||||
int32 numTerms = teams.CountItems();
|
int32 numTerms = teams.CountItems();
|
||||||
if (numTerms <= 1 ) return; //Can't Switch !!
|
if (numTerms <= 1 ) return; //Can't Switch !!
|
||||||
|
|
||||||
// Find posion of mine in app teams.
|
// Find position of mine in app teams.
|
||||||
int32 i;
|
int32 i;
|
||||||
|
|
||||||
for(i = 0; i < numTerms; i++){
|
for(i = 0; i < numTerms; i++){
|
||||||
@@ -459,7 +459,7 @@ TermApp::SwitchTerm()
|
|||||||
if(--i < 0) i = numTerms - 1;
|
if(--i < 0) i = numTerms - 1;
|
||||||
}while(IsMinimize(reinterpret_cast<team_id>(teams.ItemAt(i))));
|
}while(IsMinimize(reinterpret_cast<team_id>(teams.ItemAt(i))));
|
||||||
|
|
||||||
// Activare switched terminal.
|
// Activate switched terminal.
|
||||||
ActivateTermWindow(reinterpret_cast<team_id>(teams.ItemAt(i)));
|
ActivateTermWindow(reinterpret_cast<team_id>(teams.ItemAt(i)));
|
||||||
}
|
}
|
||||||
////////////////////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////////////////////
|
||||||
|
|||||||
@@ -72,6 +72,7 @@ private:
|
|||||||
bool IsMinimize (team_id);
|
bool IsMinimize (team_id);
|
||||||
|
|
||||||
int fRows, fCols, fXpos, fYpos;
|
int fRows, fCols, fXpos, fYpos;
|
||||||
|
int fWindowNumber;
|
||||||
rgb_color fFg, fBg, fCurFg, fCurBg, fSelFg, fSelbg;
|
rgb_color fFg, fBg, fCurFg, fCurBg, fSelFg, fSelbg;
|
||||||
rgb_color fImfg, fImbg, fImSel;
|
rgb_color fImfg, fImbg, fImSel;
|
||||||
|
|
||||||
|
|||||||
@@ -1942,9 +1942,12 @@ TermView::DoCopy()
|
|||||||
be_clipboard->Unlock();
|
be_clipboard->Unlock();
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!fMouseTracking) {
|
// Deselecting the current selection is not the behavior that
|
||||||
this->DeSelect ();
|
// R5's Terminal app displays. We want to mimic the behavior, so we will
|
||||||
}
|
// no longer do the deselection
|
||||||
|
// if (!fMouseTracking) {
|
||||||
|
// this->DeSelect ();
|
||||||
|
// }
|
||||||
|
|
||||||
}
|
}
|
||||||
////////////////////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////////////////////
|
||||||
|
|||||||
@@ -88,9 +88,11 @@ void SetCoding (int);
|
|||||||
// TermWindow Constructer
|
// TermWindow Constructer
|
||||||
//
|
//
|
||||||
////////////////////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////////////////////
|
||||||
TermWindow::TermWindow( BRect frame)
|
TermWindow::TermWindow( BRect frame, int32 windownumber)
|
||||||
: BWindow (frame, NULL, B_DOCUMENT_WINDOW, B_CURRENT_WORKSPACE)
|
: BWindow (frame, NULL, B_DOCUMENT_WINDOW, B_CURRENT_WORKSPACE)
|
||||||
{
|
{
|
||||||
|
sprintf(gWindowName,"Terminal %ld",windownumber);
|
||||||
|
|
||||||
InitWindow();
|
InitWindow();
|
||||||
SetWindowTitle();
|
SetWindowTitle();
|
||||||
fPrintSettings = NULL;
|
fPrintSettings = NULL;
|
||||||
@@ -258,10 +260,10 @@ TermWindow::SetupMenu(void)
|
|||||||
fFilemenu->AddItem(new BMenuItem("Switch Terminals", new BMessage(MENU_SWITCH_TERM),'G'));
|
fFilemenu->AddItem(new BMenuItem("Switch Terminals", new BMessage(MENU_SWITCH_TERM),'G'));
|
||||||
fFilemenu->AddItem(new BMenuItem("Start New Terminal", new BMessage(MENU_NEW_TREM), 'N'));
|
fFilemenu->AddItem(new BMenuItem("Start New Terminal", new BMessage(MENU_NEW_TREM), 'N'));
|
||||||
fFilemenu->AddSeparatorItem();
|
fFilemenu->AddSeparatorItem();
|
||||||
fFilemenu->AddItem(new BMenuItem("Preferences", new BMessage(MENU_PREF_OPEN)));
|
fFilemenu->AddItem(new BMenuItem("About Terminal...", new BMessage(MENU_SHOW_ABOUT)));
|
||||||
fFilemenu->AddSeparatorItem();
|
fFilemenu->AddSeparatorItem();
|
||||||
fFilemenu->AddItem(new BMenuItem("Page Setup", new BMessage(MENU_PAGE_SETUP)));
|
fFilemenu->AddItem(new BMenuItem("Page Setup...", new BMessage(MENU_PAGE_SETUP)));
|
||||||
fFilemenu->AddItem(new BMenuItem("Print", new BMessage(MENU_PRINT), 'P'));
|
fFilemenu->AddItem(new BMenuItem("Print", new BMessage(MENU_PRINT),'P'));
|
||||||
fFilemenu->AddSeparatorItem();
|
fFilemenu->AddSeparatorItem();
|
||||||
fFilemenu->AddItem(new BMenuItem("Quit", new BMessage(MENU_FILE_QUIT), 'Q'));
|
fFilemenu->AddItem(new BMenuItem("Quit", new BMessage(MENU_FILE_QUIT), 'Q'));
|
||||||
fMenubar->AddItem(fFilemenu);
|
fMenubar->AddItem(fFilemenu);
|
||||||
@@ -274,10 +276,14 @@ TermWindow::SetupMenu(void)
|
|||||||
fEditmenu->AddItem (new BMenuItem ("Paste", new BMessage (B_PASTE),'V'));
|
fEditmenu->AddItem (new BMenuItem ("Paste", new BMessage (B_PASTE),'V'));
|
||||||
fEditmenu->AddSeparatorItem ();
|
fEditmenu->AddSeparatorItem ();
|
||||||
fEditmenu->AddItem (new BMenuItem ("Select All", new BMessage (B_SELECT_ALL), 'A'));
|
fEditmenu->AddItem (new BMenuItem ("Select All", new BMessage (B_SELECT_ALL), 'A'));
|
||||||
fEditmenu->AddItem (new BMenuItem ("Clear All", new BMessage (MENU_CLEAR_ALL)));
|
fEditmenu->AddItem (new BMenuItem ("Clear All", new BMessage (MENU_CLEAR_ALL), 'L'));
|
||||||
|
|
||||||
|
/*
|
||||||
|
// TODO: Implement Finding
|
||||||
fEditmenu->AddSeparatorItem ();
|
fEditmenu->AddSeparatorItem ();
|
||||||
fEditmenu->AddItem (new BMenuItem ("Find", new BMessage (MENU_FIND_STRING),'F'));
|
fEditmenu->AddItem (new BMenuItem ("Find", new BMessage (MENU_FIND_STRING),'F'));
|
||||||
fEditmenu->AddItem (new BMenuItem ("Find Again", new BMessage (MENU_FIND_AGAIN), '['));
|
fEditmenu->AddItem (new BMenuItem ("Find Again", new BMessage (MENU_FIND_AGAIN), ']'));
|
||||||
|
*/
|
||||||
fMenubar->AddItem (fEditmenu);
|
fMenubar->AddItem (fEditmenu);
|
||||||
|
|
||||||
|
|
||||||
@@ -291,7 +297,10 @@ TermWindow::SetupMenu(void)
|
|||||||
fWindowSizeMenu->AddItem(new BMenuItem("80x40", new BMessage(EIGHTYFORTY)));
|
fWindowSizeMenu->AddItem(new BMenuItem("80x40", new BMessage(EIGHTYFORTY)));
|
||||||
fWindowSizeMenu->AddItem(new BMenuItem("132x24", new BMessage(ONETHREETWOTWENTYFOUR)));
|
fWindowSizeMenu->AddItem(new BMenuItem("132x24", new BMessage(ONETHREETWOTWENTYFOUR)));
|
||||||
fWindowSizeMenu->AddItem(new BMenuItem("132x25", new BMessage(ONETHREETWOTWENTYFIVE)));
|
fWindowSizeMenu->AddItem(new BMenuItem("132x25", new BMessage(ONETHREETWOTWENTYFIVE)));
|
||||||
fNewFontMenu = new BMenu("Font");
|
|
||||||
|
// Considering we have this in the preferences window, this menu is not
|
||||||
|
// needed and should not be shown if we are to not confuse the user
|
||||||
|
/* fNewFontMenu = new BMenu("Font");
|
||||||
fNewFontMenu->SetRadioMode(true);
|
fNewFontMenu->SetRadioMode(true);
|
||||||
int32 numFamilies1 = count_font_families();
|
int32 numFamilies1 = count_font_families();
|
||||||
for ( int32 i = 0; i < numFamilies1; i++ ) {
|
for ( int32 i = 0; i < numFamilies1; i++ ) {
|
||||||
@@ -303,13 +312,16 @@ TermWindow::SetupMenu(void)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
fNewFontMenu->FindItem (gTermPref->getString(PREF_HALF_FONT_FAMILY))->SetMarked(true);
|
fNewFontMenu->FindItem (gTermPref->getString(PREF_HALF_FONT_FAMILY))->SetMarked(true);
|
||||||
|
*/
|
||||||
|
|
||||||
fEncodingmenu = new BMenu("Font Encoding");
|
fEncodingmenu = new BMenu("Font Encoding");
|
||||||
fEncodingmenu->SetRadioMode(true);
|
fEncodingmenu->SetRadioMode(true);
|
||||||
MakeEncodingMenu(fEncodingmenu, gNowCoding, true);
|
MakeEncodingMenu(fEncodingmenu, gNowCoding, true);
|
||||||
fHelpmenu->AddItem(fEncodingmenu);
|
|
||||||
fHelpmenu->AddItem(fWindowSizeMenu);
|
fHelpmenu->AddItem(fWindowSizeMenu);
|
||||||
fHelpmenu->AddItem(fNewFontMenu);
|
fHelpmenu->AddItem(fEncodingmenu);
|
||||||
fHelpmenu->AddItem(new BMenuItem("About Terminal", new BMessage(MENU_SHOW_ABOUT)));
|
// fHelpmenu->AddItem(fNewFontMenu);
|
||||||
|
fHelpmenu->AddSeparatorItem();
|
||||||
|
fHelpmenu->AddItem(new BMenuItem("Preferences", new BMessage(MENU_PREF_OPEN)));
|
||||||
fMenubar->AddItem(fHelpmenu);
|
fMenubar->AddItem(fHelpmenu);
|
||||||
|
|
||||||
|
|
||||||
@@ -592,9 +604,7 @@ void
|
|||||||
TermWindow::SetWindowTitle (void)
|
TermWindow::SetWindowTitle (void)
|
||||||
{
|
{
|
||||||
char windowname[256];
|
char windowname[256];
|
||||||
sprintf(windowname, gWindowName
|
sprintf(windowname, gWindowName);
|
||||||
|
|
||||||
);
|
|
||||||
this->SetTitle (windowname);
|
this->SetTitle (windowname);
|
||||||
|
|
||||||
}
|
}
|
||||||
@@ -701,7 +711,7 @@ TermWindow::DoPageSetup()
|
|||||||
void
|
void
|
||||||
TermWindow::DoPrint()
|
TermWindow::DoPrint()
|
||||||
{
|
{
|
||||||
#if B_BEOS_VERSION < 0x0460
|
//#if B_BEOS_VERSION < 0x0460
|
||||||
BPrintJob job("Print");
|
BPrintJob job("Print");
|
||||||
|
|
||||||
if((! fPrintSettings) && (DoPageSetup() != B_NO_ERROR)) {
|
if((! fPrintSettings) && (DoPageSetup() != B_NO_ERROR)) {
|
||||||
@@ -709,7 +719,7 @@ TermWindow::DoPrint()
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
job.SetSettings(new BMessage(fPrintSettings));
|
job.SetSettings(new BMessage(*fPrintSettings));
|
||||||
|
|
||||||
BRect pageRect = job.PrintableRect();
|
BRect pageRect = job.PrintableRect();
|
||||||
BRect curPageRect = pageRect;
|
BRect curPageRect = pageRect;
|
||||||
@@ -732,12 +742,16 @@ TermWindow::DoPrint()
|
|||||||
job.SpoolPage();
|
job.SpoolPage();
|
||||||
|
|
||||||
if(!job.CanContinue()){
|
if(!job.CanContinue()){
|
||||||
(new BAlert("Cancel", "Print job cancelled", "OK"))->Go();
|
// It is likely that the only way that the job was cancelled is
|
||||||
|
// because the user hit 'Cancel' in the page setup window, in which
|
||||||
|
// case, the user does *not* need to be told that it was cancelled.
|
||||||
|
// He/she will simply expect that it was done.
|
||||||
|
// (new BAlert("Cancel", "Print job cancelled", "OK"))->Go();
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/* commit the job, send the spool file */
|
/* commit the job, send the spool file */
|
||||||
job.CommitJob();
|
job.CommitJob();
|
||||||
#endif
|
//#endif
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -48,7 +48,7 @@ class FindDlg;
|
|||||||
class TermWindow : public BWindow
|
class TermWindow : public BWindow
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
TermWindow (BRect frame);
|
TermWindow (BRect frame, int32 windownumber=1);
|
||||||
~TermWindow ();
|
~TermWindow ();
|
||||||
|
|
||||||
void Quit (void);
|
void Quit (void);
|
||||||
|
|||||||
Reference in New Issue
Block a user