Beispiel #1
0
void
init() {

      /* from input.c: */
      {
	      basepf.nextc = basepf.buf = basebuf;
      }

      /* from trap.c: */
      {
	      signal(SIGCHLD, SIG_DFL);
      }

      /* from output.c: */
      {
#ifdef USE_GLIBC_STDIO
	      initstreams();
#endif
      }

      /* from var.c: */
      {
	      char **envp;
	      static char ppid[32] = "PPID=";
	      const char *p;
	      struct stat st1, st2;

	      initvar();
	      for (envp = environ ; *envp ; envp++) {
		      if (strchr(*envp, '=')) {
			      setvareq(*envp, VEXPORT|VTEXTFIXED);
		      }
	      }

	      fmtstr(ppid + 5, sizeof(ppid) - 5, "%ld", (long) getppid());
	      setvareq(ppid, VTEXTFIXED);

	      p = lookupvar("PWD");
	      if (p)
		      if (*p != '/' || stat(p, &st1) || stat(".", &st2) ||
			  st1.st_dev != st2.st_dev || st1.st_ino != st2.st_ino)
			      p = 0;
	      setpwd(p, 0);
      }
}
Beispiel #2
0
mainWidget::mainWidget(const char *name) : KTMainWindow(name) {
  md = new mainDlg(this);
  md->init();

  QPopupMenu *file = new QPopupMenu;
  CHECK_PTR( file );
  file->insertItem(i18n("&Save"),  md, SLOT(save()) );
  file->insertSeparator();
  file->insertItem(i18n("&Preferences..."),  md, SLOT(properties()) );
  file->insertSeparator();
  file->insertItem(i18n("&Quit"),  md, SLOT(quit()) );

  QPopupMenu *user = new QPopupMenu;
  CHECK_PTR(user);
  user->insertItem(i18n("&Edit..."), md, SLOT(useredit()) );
  user->insertItem(i18n("&Delete..."), md, SLOT(userdel()) );
  user->insertItem(i18n("&Add..."), md, SLOT(useradd()) );
  user->insertItem(i18n("&Set password..."), md, SLOT(setpwd()) );

  QPopupMenu *group = new QPopupMenu;
  CHECK_PTR(group);
  group->insertItem(i18n("&Edit..."), md, SLOT(grpedit()) );
  group->insertItem(i18n("&Delete..."), md, SLOT(grpdel()) );
  group->insertItem(i18n("&Add..."), md, SLOT(grpadd()) );

  QString tmp;
  tmp.sprintf(i18n("KUser version %s\n"
		"KDE project\n"
		"This program was created by\n"
		"Denis Pershin\n"
		"[email protected]\n"
		"Copyright 1997(c)"), _KU_VERSION);
  QPopupMenu *help = kapp->getHelpMenu(true, tmp);

  menubar = new KMenuBar( this );
  CHECK_PTR( menubar );
  menubar->insertItem(i18n("&File"), file );
  menubar->insertItem(i18n("&User"), user );
  menubar->insertItem(i18n("&Group"), group );
  menubar->insertSeparator();
  menubar->insertItem(i18n("&Help"), help );

  setMenu(menubar);

  toolbar = new KToolBar(this, "toolbar");
  QPixmap pix;

  pix = kapp->getIconLoader()->loadIcon("useradd.xpm");
  toolbar->insertButton(pix, 0, SIGNAL(clicked()), md, SLOT(useradd()), TRUE, i18n("Add user"));
  pix = kapp->getIconLoader()->loadIcon("userdel.xpm");
  toolbar->insertButton(pix, 0, SIGNAL(clicked()), md, SLOT(userdel()), TRUE, i18n("Delete user"));
  pix = kapp->getIconLoader()->loadIcon("useredit.xpm");
  toolbar->insertButton(pix, 0, SIGNAL(clicked()), md, SLOT(useredit()), TRUE, i18n("Edit user"));
  
  toolbar->insertSeparator();
  
  pix = kapp->getIconLoader()->loadIcon("grpadd.xpm");
  toolbar->insertButton(pix, 0, SIGNAL(clicked()), md, SLOT(grpadd()), TRUE, i18n("Add group"));
  pix = kapp->getIconLoader()->loadIcon("grpdel.xpm");
  toolbar->insertButton(pix, 0, SIGNAL(clicked()), md, SLOT(grpdel()), TRUE, i18n("Delete group"));
  pix = kapp->getIconLoader()->loadIcon("grpedit.xpm");
  toolbar->insertButton(pix, 0, SIGNAL(clicked()), md, SLOT(grpedit()), TRUE, i18n("Edit group"));
  toolbar->setBarPos(KToolBar::Top);

  addToolBar(toolbar);
  
  sbar = new KStatusBar(this);
  sbar->insertItem("Reading config", 0);
  
  setStatusBar(sbar);

  setView(md);

  resize(500, 400);

  // restore geometry settings
  KConfig *config = KApplication::getKApplication()->getConfig();
  config->setGroup( "Appearance" );
  QString geom = config->readEntry( "Geometry" );
  if (!geom.isEmpty()) {
    int width, height;
    sscanf( geom, "%dx%d", &width, &height );
    resize( width, height );
  }
  sbar->changeItem(i18n("Ready"), 0);
}