@Override
  public Dialog onCreateDialog(Bundle savedInstanceState) {
    int title = getArguments().getInt("title");
    position = getArguments().getInt("position");
    Dialog dialog = new Dialog(getActivity());
    dialog.setContentView(R.layout.edit_notebook_dialog);
    dialog.setTitle(title);

    LinkedList<BookPreview> notebooks = Bookshelf.getBookPreviewList();
    Log.d(TAG, "onCreateDialog " + Bookshelf.getCount() + " " + position);
    notebook = notebooks.get(position);

    text = (EditText) dialog.findViewById(R.id.edit_notebook_title);
    text.setText(notebook.getTitle());
    text.setOnKeyListener(
        new View.OnKeyListener() {
          @Override
          public boolean onKey(View v, int keyCode, KeyEvent event) {
            if (keyCode == KeyEvent.KEYCODE_ENTER) {
              EditText editText = (EditText) v;
              String text = editText.getText().toString();
              int editTextRowCount = text.split("\n").length;
              if (editTextRowCount >= 3) return true;
            }
            return false;
          }
        });

    okButton = (Button) dialog.findViewById(R.id.edit_notebook_button);
    cancelButton = (Button) dialog.findViewById(R.id.edit_notebook_cancel);
    exportButton = (Button) dialog.findViewById(R.id.edit_notebook_export);
    deleteButton = (Button) dialog.findViewById(R.id.edit_notebook_delete);
    okButton.setOnClickListener(this);
    cancelButton.setOnClickListener(this);
    exportButton.setOnClickListener(this);
    deleteButton.setOnClickListener(this);

    if (notebooks.size() == 1) deleteButton.setEnabled(false);
    is_new_notebook_dialog = (title == R.string.edit_notebook_title_new);
    if (is_new_notebook_dialog) {
      deleteButton.setVisibility(View.INVISIBLE);
      exportButton.setVisibility(View.INVISIBLE);
    }
    return dialog;
  }