summaryrefslogtreecommitdiff
authorzecke <zecke>2004-02-29 15:40:12 (UTC)
committer zecke <zecke>2004-02-29 15:40:12 (UTC)
commitf8e1f2c5201f7e86abaa7365040d919e2afcd2ae (patch) (unidiff)
treea0ef1ee60b28c4918d31d947c303103fc2a447b3
parenta731ace5bdbef2354209c655805ebac5298dc2df (diff)
downloadopie-f8e1f2c5201f7e86abaa7365040d919e2afcd2ae.zip
opie-f8e1f2c5201f7e86abaa7365040d919e2afcd2ae.tar.gz
opie-f8e1f2c5201f7e86abaa7365040d919e2afcd2ae.tar.bz2
Hehe Fix the #ifdef properly.... gives me my fonts back
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--core/apps/embeddedkonsole/konsole.cpp2
1 files changed, 0 insertions, 2 deletions
diff --git a/core/apps/embeddedkonsole/konsole.cpp b/core/apps/embeddedkonsole/konsole.cpp
index 2c0001f..eafc12e 100644
--- a/core/apps/embeddedkonsole/konsole.cpp
+++ b/core/apps/embeddedkonsole/konsole.cpp
@@ -305,258 +305,256 @@ void Konsole::initCommandList()
305 } 305 }
306 } 306 }
307 items.sort(); 307 items.sort();
308 int n = items.count(); 308 int n = items.count();
309 if (n > 40) 309 if (n > 40)
310 { 310 {
311 n = 40; 311 n = 40;
312 } 312 }
313 for(int i=0; i<n; i++) 313 for(int i=0; i<n; i++)
314 { 314 {
315 // should insert start of command, but keep whole thing 315 // should insert start of command, but keep whole thing
316 if (items.at(items.count()-i-1)->line.length() < 30) 316 if (items.at(items.count()-i-1)->line.length() < 30)
317 { 317 {
318 commonCombo->insertItem(items.at(items.count()-i-1)->line); 318 commonCombo->insertItem(items.at(items.count()-i-1)->line);
319 } 319 }
320 } 320 }
321 histfile.close(); 321 histfile.close();
322 } 322 }
323 } 323 }
324 if (cfg.readEntry("Commands Set","FALSE") == "FALSE") 324 if (cfg.readEntry("Commands Set","FALSE") == "FALSE")
325 { 325 {
326 for (int i = 0; commonCmds[i] != NULL; i++) 326 for (int i = 0; commonCmds[i] != NULL; i++)
327 { 327 {
328 commonCombo->insertItem(commonCmds[i]); 328 commonCombo->insertItem(commonCmds[i]);
329 } 329 }
330 } 330 }
331 else 331 else
332 { 332 {
333 for (int i = 0; i < 100; i++) 333 for (int i = 0; i < 100; i++)
334 { 334 {
335 if (!(cfg.readEntry( QString::number(i),"")).isEmpty()) 335 if (!(cfg.readEntry( QString::number(i),"")).isEmpty())
336 commonCombo->insertItem(cfg.readEntry( QString::number(i),"")); 336 commonCombo->insertItem(cfg.readEntry( QString::number(i),""));
337 } 337 }
338 } 338 }
339 339
340 340
341} 341}
342 342
343static void sig_handler(int x) 343static void sig_handler(int x)
344{ 344{
345 printf("got signal %d\n",x); 345 printf("got signal %d\n",x);
346} 346}
347 347
348void Konsole::init(const char* _pgm, QStrList & _args) 348void Konsole::init(const char* _pgm, QStrList & _args)
349{ 349{
350 350
351#if 0 351#if 0
352 for(int i=1; i<=31; i++) 352 for(int i=1; i<=31; i++)
353 { 353 {
354 if (i != SIGPIPE && i != SIGPROF && i != SIGSEGV 354 if (i != SIGPIPE && i != SIGPROF && i != SIGSEGV
355 && i != SIGINT && i != SIGILL && i != SIGTERM 355 && i != SIGINT && i != SIGILL && i != SIGTERM
356 && i != SIGBUS) 356 && i != SIGBUS)
357 signal(i,sig_handler); 357 signal(i,sig_handler);
358 } 358 }
359#endif 359#endif
360 signal(SIGSTOP, sig_handler); 360 signal(SIGSTOP, sig_handler);
361 signal(SIGCONT, sig_handler); 361 signal(SIGCONT, sig_handler);
362 signal(SIGTSTP, sig_handler); 362 signal(SIGTSTP, sig_handler);
363 363
364 b_scroll = TRUE; // histon; 364 b_scroll = TRUE; // histon;
365 n_keytab = 0; 365 n_keytab = 0;
366 n_render = 0; 366 n_render = 0;
367 startUp=0; 367 startUp=0;
368 fromMenu = FALSE; 368 fromMenu = FALSE;
369 fullscreen = false; 369 fullscreen = false;
370 370
371 setCaption( tr( "Konsole" ) ); 371 setCaption( tr( "Konsole" ) );
372 setIcon( Resource::loadPixmap( "konsole/Terminal" ) ); 372 setIcon( Resource::loadPixmap( "konsole/Terminal" ) );
373 373
374 Config cfg( "Konsole" ); 374 Config cfg( "Konsole" );
375 cfg.setGroup("Font"); 375 cfg.setGroup("Font");
376 QString tmp; 376 QString tmp;
377 377
378 // initialize the list of allowed fonts /////////////////////////////////// 378 // initialize the list of allowed fonts ///////////////////////////////////
379 379
380 QString cfgFontName = cfg.readEntry("FontName","Lcfont"); 380 QString cfgFontName = cfg.readEntry("FontName","Lcfont");
381 int cfgFontSize = cfg.readNumEntry("FontSize",18); 381 int cfgFontSize = cfg.readNumEntry("FontSize",18);
382 382
383 cfont = -1; 383 cfont = -1;
384 384
385 // this code causes repeated access to all the font files 385 // this code causes repeated access to all the font files
386 // which does slow down startup 386 // which does slow down startup
387 QFontDatabase fontDB; 387 QFontDatabase fontDB;
388 QStringList familyNames; 388 QStringList familyNames;
389 familyNames = fontDB.families( FALSE ); 389 familyNames = fontDB.families( FALSE );
390 QString s; 390 QString s;
391 int fontIndex = 0; 391 int fontIndex = 0;
392 int familyNum = 0; 392 int familyNum = 0;
393 fontList = new QPopupMenu( this ); 393 fontList = new QPopupMenu( this );
394 394
395 for(uint j = 0; j < (uint)familyNames.count(); j++) 395 for(uint j = 0; j < (uint)familyNames.count(); j++)
396 { 396 {
397 s = familyNames[j]; 397 s = familyNames[j];
398 if ( s.contains('-') ) 398 if ( s.contains('-') )
399 { 399 {
400 int i = s.find('-'); 400 int i = s.find('-');
401 s = s.right( s.length() - i - 1 ) + " [" + s.left( i ) + "]"; 401 s = s.right( s.length() - i - 1 ) + " [" + s.left( i ) + "]";
402 } 402 }
403 s[0] = s[0].upper(); 403 s[0] = s[0].upper();
404 404
405 QValueList<int> sizes = fontDB.pointSizes( familyNames[j] ); 405 QValueList<int> sizes = fontDB.pointSizes( familyNames[j] );
406 406
407 printf("family[%d] = %s with %d sizes\n", j, familyNames[j].latin1(), 407 printf("family[%d] = %s with %d sizes\n", j, familyNames[j].latin1(),
408 sizes.count()); 408 sizes.count());
409 409
410 if (sizes.count() > 0) 410 if (sizes.count() > 0)
411 { 411 {
412 QPopupMenu *sizeMenu; 412 QPopupMenu *sizeMenu;
413 QFont f; 413 QFont f;
414 int last_width = -1; 414 int last_width = -1;
415 sizeMenu = NULL; 415 sizeMenu = NULL;
416 416
417 for(uint i = 0; i < (uint)sizes.count() + 4; i++) 417 for(uint i = 0; i < (uint)sizes.count() + 4; i++)
418 { 418 {
419 // printf("family %s size %d ", familyNames[j].latin1(), sizes[i]); 419 // printf("family %s size %d ", familyNames[j].latin1(), sizes[i]);
420 // need to divide by 10 on the Z, but not otherwise 420 // need to divide by 10 on the Z, but not otherwise
421 int size; 421 int size;
422 422
423 if (i >= (uint)sizes.count()) 423 if (i >= (uint)sizes.count())
424 { 424 {
425 // try for expandable fonts 425 // try for expandable fonts
426 size = sizes[sizes.count()-1] + 2 * (i - sizes.count() + 1); 426 size = sizes[sizes.count()-1] + 2 * (i - sizes.count() + 1);
427 } 427 }
428 else 428 else
429 { 429 {
430 printf("sizes[%d] = %d\n", i, sizes[i]); 430 printf("sizes[%d] = %d\n", i, sizes[i]);
431 size = sizes[i]; 431 size = sizes[i];
432 } 432 }
433 // a hack, sizes on Z seem to be points*10
434 size /= 10;
435 433
436 f = QFont(familyNames[j], size); 434 f = QFont(familyNames[j], size);
437 f.setFixedPitch(true); 435 f.setFixedPitch(true);
438 QFontMetrics fm(f); 436 QFontMetrics fm(f);
439 // don't trust f.fixedPitch() or f.exactMatch(), they lie!! 437 // don't trust f.fixedPitch() or f.exactMatch(), they lie!!
440 if (fm.width("l") == fm.width("m") 438 if (fm.width("l") == fm.width("m")
441 && (i < (uint)sizes.count() 439 && (i < (uint)sizes.count()
442 || fm.width("m") > last_width)) 440 || fm.width("m") > last_width))
443 { 441 {
444 if (i < (uint)sizes.count()) 442 if (i < (uint)sizes.count())
445 { 443 {
446 last_width = fm.width("m"); 444 last_width = fm.width("m");
447 } 445 }
448 if (sizeMenu == NULL) 446 if (sizeMenu == NULL)
449 { 447 {
450 sizeMenu = new QPopupMenu(); 448 sizeMenu = new QPopupMenu();
451 } 449 }
452 int id = sizeMenu->insertItem(QString("%1").arg(size), fontIndex); 450 int id = sizeMenu->insertItem(QString("%1").arg(size), fontIndex);
453 sizeMenu->setItemParameter(id, fontIndex); 451 sizeMenu->setItemParameter(id, fontIndex);
454 sizeMenu->connectItem(id, this, SLOT(setFont(int))); 452 sizeMenu->connectItem(id, this, SLOT(setFont(int)));
455 QString name = s + " " + QString::number(size); 453 QString name = s + " " + QString::number(size);
456 fonts.append(new VTFont(name, f, familyNames[j], familyNum, size)); 454 fonts.append(new VTFont(name, f, familyNames[j], familyNum, size));
457 if (familyNames[j] == cfgFontName && size == cfgFontSize) 455 if (familyNames[j] == cfgFontName && size == cfgFontSize)
458 { 456 {
459 cfont = fontIndex; 457 cfont = fontIndex;
460 } 458 }
461 printf("FOUND: %s family %s size %d\n", name.latin1(), familyNames[j].latin1(), size); 459 printf("FOUND: %s family %s size %d\n", name.latin1(), familyNames[j].latin1(), size);
462 fontIndex++; 460 fontIndex++;
463 } 461 }
464 } 462 }
465 if (sizeMenu) 463 if (sizeMenu)
466 { 464 {
467 fontList->insertItem(s, sizeMenu, familyNum + 1000); 465 fontList->insertItem(s, sizeMenu, familyNum + 1000);
468 466
469 familyNum++; 467 familyNum++;
470 } 468 }
471 } 469 }
472 470
473 } 471 }
474 472
475 if (cfont < 0 || cfont >= (int)fonts.count()) 473 if (cfont < 0 || cfont >= (int)fonts.count())
476 { 474 {
477 cfont = 0; 475 cfont = 0;
478 } 476 }
479 477
480 // create terminal emulation framework //////////////////////////////////// 478 // create terminal emulation framework ////////////////////////////////////
481 nsessions = 0; 479 nsessions = 0;
482 480
483 tab = new EKNumTabWidget(this); 481 tab = new EKNumTabWidget(this);
484 // tab->setMargin(tab->margin()-5); 482 // tab->setMargin(tab->margin()-5);
485 connect(tab, SIGNAL(currentChanged(QWidget*)), this, SLOT(switchSession(QWidget*))); 483 connect(tab, SIGNAL(currentChanged(QWidget*)), this, SLOT(switchSession(QWidget*)));
486 484
487 // create terminal toolbar //////////////////////////////////////////////// 485 // create terminal toolbar ////////////////////////////////////////////////
488 setToolBarsMovable( FALSE ); 486 setToolBarsMovable( FALSE );
489 menuToolBar = new QToolBar( this ); 487 menuToolBar = new QToolBar( this );
490 menuToolBar->setHorizontalStretchable( TRUE ); 488 menuToolBar->setHorizontalStretchable( TRUE );
491 489
492 QMenuBar *menuBar = new QMenuBar( menuToolBar ); 490 QMenuBar *menuBar = new QMenuBar( menuToolBar );
493 491
494 bool c7xx = false; 492 bool c7xx = false;
495 if (qApp->desktop()->width() > 600 || qApp->desktop()->height() > 600) 493 if (qApp->desktop()->width() > 600 || qApp->desktop()->height() > 600)
496 { 494 {
497 c7xx = true; 495 c7xx = true;
498 } 496 }
499 QFont menuFont; 497 QFont menuFont;
500 menuFont.setPointSize(c7xx? 18 : 10); 498 menuFont.setPointSize(c7xx? 18 : 10);
501 qApp->setFont(menuFont, true); 499 qApp->setFont(menuFont, true);
502 500
503 setFont(cfont); 501 setFont(cfont);
504 502
505 configMenu = new QPopupMenu( this); 503 configMenu = new QPopupMenu( this);
506 colorMenu = new QPopupMenu( this); 504 colorMenu = new QPopupMenu( this);
507 scrollMenu = new QPopupMenu( this); 505 scrollMenu = new QPopupMenu( this);
508 editCommandListMenu = new QPopupMenu( this); 506 editCommandListMenu = new QPopupMenu( this);
509 507
510 configMenu->insertItem(tr("Command List"), editCommandListMenu); 508 configMenu->insertItem(tr("Command List"), editCommandListMenu);
511 509
512 bool listHidden; 510 bool listHidden;
513 cfg.setGroup("Menubar"); 511 cfg.setGroup("Menubar");
514 if( cfg.readEntry("Hidden","FALSE") == "TRUE") 512 if( cfg.readEntry("Hidden","FALSE") == "TRUE")
515 { 513 {
516 ec_cmdlist = editCommandListMenu->insertItem( tr( "Show command list" )); 514 ec_cmdlist = editCommandListMenu->insertItem( tr( "Show command list" ));
517 listHidden=TRUE; 515 listHidden=TRUE;
518 } 516 }
519 else 517 else
520 { 518 {
521 ec_cmdlist = editCommandListMenu->insertItem( tr( "Hide command list" )); 519 ec_cmdlist = editCommandListMenu->insertItem( tr( "Hide command list" ));
522 listHidden=FALSE; 520 listHidden=FALSE;
523 } 521 }
524 522
525 cfg.setGroup("Tabs"); 523 cfg.setGroup("Tabs");
526 524
527 tabMenu = new QPopupMenu(this); 525 tabMenu = new QPopupMenu(this);
528 tm_bottom = tabMenu->insertItem(tr("Bottom" )); 526 tm_bottom = tabMenu->insertItem(tr("Bottom" ));
529 tm_top = tabMenu->insertItem(tr("Top")); 527 tm_top = tabMenu->insertItem(tr("Top"));
530 tm_hidden = tabMenu->insertItem(tr("Hidden")); 528 tm_hidden = tabMenu->insertItem(tr("Hidden"));
531 529
532 configMenu->insertItem(tr("Tabs"), tabMenu); 530 configMenu->insertItem(tr("Tabs"), tabMenu);
533 531
534 tmp=cfg.readEntry("Position","Top"); 532 tmp=cfg.readEntry("Position","Top");
535 if(tmp=="Top") 533 if(tmp=="Top")
536 { 534 {
537 tab->setTabPosition(QTabWidget::Top); 535 tab->setTabPosition(QTabWidget::Top);
538 tab->getTabBar()->show(); 536 tab->getTabBar()->show();
539 tabPos = tm_top; 537 tabPos = tm_top;
540 } 538 }
541 else if (tmp=="Bottom") 539 else if (tmp=="Bottom")
542 { 540 {
543 tab->setTabPosition(QTabWidget::Bottom); 541 tab->setTabPosition(QTabWidget::Bottom);
544 tab->getTabBar()->show(); 542 tab->getTabBar()->show();
545 tabPos = tm_bottom; 543 tabPos = tm_bottom;
546 } 544 }
547 else 545 else
548 { 546 {
549 tab->getTabBar()->hide(); 547 tab->getTabBar()->hide();
550 tab->setMargin(tab->margin()); 548 tab->setMargin(tab->margin());
551 tabPos = tm_hidden; 549 tabPos = tm_hidden;
552 } 550 }
553 551
554 cm_bw = colorMenu->insertItem(tr( "Black on White")); 552 cm_bw = colorMenu->insertItem(tr( "Black on White"));
555 cm_wb = colorMenu->insertItem(tr( "White on Black")); 553 cm_wb = colorMenu->insertItem(tr( "White on Black"));
556 cm_gb = colorMenu->insertItem(tr( "Green on Black")); 554 cm_gb = colorMenu->insertItem(tr( "Green on Black"));
557 // cm_bt = colorMenu->insertItem(tr( "Black on Transparent")); 555 // cm_bt = colorMenu->insertItem(tr( "Black on Transparent"));
558 cm_br = colorMenu->insertItem(tr( "Black on Pink")); 556 cm_br = colorMenu->insertItem(tr( "Black on Pink"));
559 cm_rb = colorMenu->insertItem(tr( "Pink on Black")); 557 cm_rb = colorMenu->insertItem(tr( "Pink on Black"));
560 cm_gy = colorMenu->insertItem(tr( "Green on Yellow")); 558 cm_gy = colorMenu->insertItem(tr( "Green on Yellow"));
561 cm_bm = colorMenu->insertItem(tr( "Blue on Magenta")); 559 cm_bm = colorMenu->insertItem(tr( "Blue on Magenta"));
562 cm_mb = colorMenu->insertItem(tr( "Magenta on Blue")); 560 cm_mb = colorMenu->insertItem(tr( "Magenta on Blue"));